4 Commits
main ... DB20

Author SHA1 Message Date
Erik Groener
4371e18dbd FSN#26873 Meer Mobile FE-functionaliteit (RES en meer)
svn path=/Database/branches/DB20/; revision=20244
2013-12-20 14:54:34 +00:00
Jos Groot Lipman
bf518a69ea UWVA#28209 Merge patch vanuit DB19/trunk
svn path=/Database/branches/DB20/; revision=20016
2013-12-02 10:59:59 +00:00
Jos Groot Lipman
750a2b7e10 Oops, dit opschonen had ook nog in de branch moeten meekomen
svn path=/Database/branches/DB20/; revision=20011
2013-12-02 10:20:25 +00:00
Jos Groot Lipman
2802cdcc6d Branch 5.3.3/DB20
svn path=/Database/branches/DB20/; revision=20010
2013-12-02 10:15:39 +00:00
160 changed files with 5 additions and 116051 deletions

View File

@@ -1299,6 +1299,7 @@ FACXSL_LCL('lcl_bes_Price', 'Prijs', 'Price', 'Preis', 'Prix')
FACXSL_LCL('lcl_bes_subtotal', 'Subtotaal', 'Subtotal', 'Zwischensumme', 'Sous-total')
FACXSL_LCL('lcl_bes_aantontv_mess', 'Er is/zijn {0} artikel(en) ontvangen. Het aantal kan niet lager zijn.', '{0} Article(s) has/have been received. The amount cannot be lower', '{0} Artikel(en) ist/sind erhalten. Die Menge kan nicht weniger sein.', 'Le nombre ne peut <20>tre inf<6E>rieur')
FACXSL_LCL('lcl_bes_verhogen_mess', 'Aantal mag niet verhoogd worden', 'Amount may not be increased', 'Anzahl darf nicht erh<72>ht werden', 'Nombre ne peut <20>tre augment<6E>')
FACXSL_LCL('lcl_bes_cnt_insert', 'Contract aangemaakt door bestelling ', 'Contract created by purchase order ', 'Vertr<74>ge erstellt durch Bestellung ', 'Contrat cr<63><72>s par Commande ')
END_FACXSL_LCL()
START_FACXSL_LCL('ASP', NULL)
@@ -2673,6 +2674,8 @@ FACXSL_LCL('lcl_mobile_ruimtebezet', 'Gereserveerd tot {0}', 'Reserved until {0}
FACXSL_LCL('lcl_mobile_resbeschikbaar', 'Beschikbaarheid', 'Availability', 'Verf<72>gbar', 'Disponible')
FACXSL_LCL('lcl_mobile_data_saved', 'Gegevens zijn opgeslagen', 'Information saved', 'Die Daten werden gespeichert', 'Les donn<6E>es enregistr<74>es')
FACXSL_LCL('lcl_mobile_newafspraak', 'Nieuwe afspraak', 'New appointment', 'Neue Verabredung', 'Rendez-vous nouveau')
FACXSL_LCL('lcl_mobile_newreservering', 'Nieuwe reservering', 'New reservation', 'Neue Reservierung', 'R<>servation nouveau')
FACXSL_LCL('lcl_mobile_addvisitors', 'Bezoekers toevoegen', 'Add visitors', 'Besucher hinzuf<75>gen', 'Aujouter visiteurs')
FACXSL_LCL('lcl_pda_mld_call_confirm', 'De melding is geregistreerd, bedankt voor uw medewerking.', 'The call has been registered, thank you for your cooperation.', 'Die Meldung ist registriert worden. Danke sch<63>n f<>r Ihre Mitarbeit.', 'De melding is geregistreerd, bedankt voor uw medewerking.')
FACXSL_LCL('lcl_pda_res_gereserveerd', 'Ad hoc reservering', 'Ad hoc reservation', 'Ad hoc Reservierung', 'R<>servation ad hoc')
@@ -3036,8 +3039,8 @@ FACXSL_LCL('lcl_mld_opdr_regApprov', 'De opdracht wordt ter fiattering aangebode
FACXSL_LCL('lcl_mld_approver', 'Fiatteur', 'Approver', 'Genehmigender', 'Validateur')
FACXSL_LCL('lcl_mld_toapprove', 'Ter fiattering bij', 'Sent for approval to', 'Zu Genehmigung bei', 'A autorisation par')
FACXSL_LCL('lcl_mld_accepted_in_time', 'Acceptatie op tijd', 'Accepted in time', 'Akzeptation p<>nktlich', 'Acceptation <20> l''heure')
FACXSL_LCL('lcl_mld_handled_in_time_sla', 'Uitvoering op tijd (SLA)', 'Processed in time (Service Level)', 'Ausf<73>hrung p<>nktlich (Service-Level)', 'Ex<45>cution <20> l''heure (Niveau de Service)')
FACXSL_LCL('lcl_mld_handled_in_time_agreement', 'Uitvoering op tijd (Afspraak)', 'Processed in time (Agreement)', 'Ausf<73>hrung p<>nktlich (Vereinbarung)', 'Ex<45>cution <20> l''heure (Accord)')
FACXSL_LCL('lcl_mld_handled_in_time_sla', 'Uitvoering op tijd (SLA) (%)', 'Processed in time (Service Level) (%)', 'Ausf<73>hrung p<>nktlich (Service-Level) (%)', 'Ex<45>cution <20> l''heure (Niveau de Service) (%)')
FACXSL_LCL('lcl_mld_handled_in_time_agreement', 'Uitvoering op tijd (Afspraak) (%)', 'Processed in time (Agreement) (%)', 'Ausf<73>hrung p<>nktlich (Vereinbarung) (%)', 'Ex<45>cution <20> l''heure (Accord) (%)')
FACXSL_LCL('lcl_mld_percentage', '(%)', '(%)', '(%)', '(%)')
FACXSL_LCL('lcl_mld_PPI', 'PPI', 'QM', 'PPI', 'IPP')
FACXSL_LCL('lcl_mld_days', 'Dagen', 'Days', 'Tage', 'Jours')

View File

@@ -1,151 +0,0 @@
SPOOL 111to112
/* SLE-module: performance verbetering */
DROP VIEW sle_v_slot_gegevens;
CREATE VIEW sle_v_slot_gegevens ( sle_slot_key,
sle_slot_omschrijving,
sle_slot_upper,
sle_alg_onroerendgoed_keys,
alg_locatie_key,
alg_onroerendgoed_keys,
alg_onroerendgoed_omschrijving,
alg_onroerendgoed_upper,
alg_verdieping_key,
alg_verdieping_omschrijving,
alg_verdieping_upper,
alg_verdieping_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_type ) AS
SELECT SLE_S.sle_slot_key,
SLE_S.sle_slot_omschrijving,
SLE_S.sle_slot_upper,
ALG_G.alg_gebouw_key,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
NULL,
NULL,
'G'
FROM sle_slot SLE_S, alg_gebouw ALG_G
WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_G.alg_gebouw_key
UNION
SELECT SLE_S.sle_slot_key,
SLE_S.sle_slot_omschrijving,
SLE_S.sle_slot_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_locatie_key,
ALG_V.alg_gebouw_key,
ALG_V.alg_gebouw_omschrijving,
ALG_V.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_upper,
ALG_V.alg_verdieping_volgnr,
TO_NUMBER(NULL),
NULL,
NULL,
'V'
FROM sle_slot SLE_S, alg_v_verdieping_gegevens ALG_V
WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_V.alg_verdieping_key
UNION
SELECT SLE_S.sle_slot_key,
SLE_S.sle_slot_omschrijving,
SLE_S.sle_slot_upper,
ALG_R.alg_ruimte_key,
ALG_R.alg_locatie_key,
ALG_R.alg_gebouw_key,
ALG_R.alg_gebouw_omschrijving,
ALG_R.alg_gebouw_upper,
ALG_R.alg_verdieping_key,
ALG_R.alg_verdieping_omschrijving,
ALG_R.alg_verdieping_upper,
ALG_R.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
'R'
FROM sle_slot SLE_S, alg_v_ruimte_gegevens ALG_R
WHERE ALG_R.alg_ruimte_key = SLE_S.sle_alg_onroerendgoed_keys
UNION
SELECT SLE_S.sle_slot_key,
SLE_S.sle_slot_omschrijving,
SLE_S.sle_slot_upper,
ALG_T.alg_terreinsector_key,
ALG_T.alg_locatie_key,
ALG_T.alg_terreinsector_key,
ALG_T.alg_terreinsector_omschrijving,
ALG_T.alg_terreinsector_upper,
TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
NULL,
NULL,
'T'
FROM sle_slot SLE_S, alg_terreinsector ALG_T
WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_T.alg_terreinsector_key;
/* systeemnamen in uppercase */
update fac_entity_name set fac_entity_system_name=Upper(fac_entity_system_name);
update fac_message set fac_message_code=Upper(fac_message_code);
/* MRA-module: andere uniciteit voorschriften */
ALTER TABLE mra_voorschrift
DROP UNIQUE (mra_voorschrift_afk_upper);
ALTER TABLE mra_voorschrift
ADD UNIQUE (mra_voorschrift_afk_upper, mra_voorschrift_module);
/* MRA-module: Nieuwe fac_messages */
DELETE FROM fac_message WHERE fac_message_code = 'MANC_VOOR';
INSERT INTO fac_message VALUES ('MANC_V_MIL', 'Manco bij milieuvoorschrift');
INSERT INTO fac_message VALUES ('MANC_V_ARB', 'Manco bij arbovoorschrift');
INSERT INTO fac_message VALUES ('MIL_VORS', 'Milieuvoorschrift');
INSERT INTO fac_message VALUES ('ARB_VORS', 'Arbovoorschrift');
INSERT INTO fac_message VALUES ('mra_m097', 'Milieuvoorschrift bij bestemming');
INSERT INTO fac_message VALUES ('mra_m098', 'Arbovoorschrift bij bestemming');
/* 04-04-96 AH In bestelopdrachten van SONNEHEERDT moet de
* MLD_BESTELOPDR_MODULE 'MLD' worden ipv. 'SON'.
*/
UPDATE mld_bestelopdr
SET mld_bestelopdr_module = 'MLD'
WHERE mld_bestelopdr_module = 'SON';
/* 04-04-96 AH Messages voor de SONNEHEERDT-bestelbon.
*/
insert into fac_message values('son_m001', 'STICHTING BEHEER SONNEHEERDT');
insert into fac_message values('son_m002', 'Landelijk centrum voor blinden en slechtzienden');
insert into fac_message values('son_m003', 'Dienst Gebouwen en Terreinen');
insert into fac_message values('son_m004', 'Opdrachtbon met rekening meesturen. Op rekening WERKNUMMER vermelden.');
insert into fac_message values('son_m005', 'Rekening in tweevoud zenden naar aangekruikt adres:');
/* 04-04-96 AH Opdrachtbon-kop accentueren.
*/
UPDATE fac_message
SET fac_message_text = 'OPDRACHTBON MELDINGEN'
WHERE fac_message_code = 'MLD_M056';
/* 05-04-96 AH Opdrachtnr. voor Opdrachtbon.
*/
insert into fac_entity_name values('MLD_OPDR_NR', 'Opdrachtnr.', NULL, 'het');
UPDATE fac_message
SET fac_message_text = 'Opdracht gereed : Ja / Nee'
WHERE fac_message_code = 'MLD_M055';
SPOOL OFF

View File

@@ -1,15 +0,0 @@
SPOOL 112to113
/*
* Update script van versie 01.12 naar 01.13
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
* 09-04-96 KTH Lege file aangemaakt
*/
/* geen SQL-wijzigingen voor 112to113 */
SPOOL OFF

View File

@@ -1,294 +0,0 @@
SPOOL 113to114
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.13 naar 01.14
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
* 16-04-96 EH 4 views voor MRA gewijzigd.
* 16-04-96 AH 113to114.sql renamed to 113to114.SRC
* 16-04-96 AH INS_..._MODULE wordt gevuld met 'INS' als het veld leeg is.
* Als dit veld nog niet bestaat moet deze toegevoegd worden in
* de tabellen INS_DISCIPLINE, INS_SRTGROEP, INS_SRTDEEL
* en INS_DEEL.
* 16-04-96 AH Update van FAC_MESSAGE 'fac_m002' voor 'BCO 2.0'
* 10-04-96 KTH INV entities
* 09-04-96 KTH PRS entities
* 09-04-96 KTH Lege file aangemaakt
*/
/* PRS updates voor FAC (tbv. meervouden/lidwoorden voor HELP): */
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID', 'Persoon', 'personen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXCORR';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXCORR', 'Corr. uren', 'Corr. uren', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXPREV';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXPREV', 'Prev. uren', 'Prev. uren', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXTOTAAL';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXTOTAAL', 'Totale uren', 'Totale uren', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_NR';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_NR', 'Pers.nr', 'Pers.nrs', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_VOORLETTERS';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_VOORLETTERS', 'Voorletters', 'Voorletters', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_SRTPERSLID';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_SRTPERSLID', 'Functie van persoon', 'Functies van persoon', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='RAPPORT';
INSERT INTO FAC_ENTITY_NAME VALUES ('RAPPORT', 'Rapporteren', NULL, 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_INVENTARIS';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_INVENTARIS', 'Inventaris', 'Inventaris', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_DIENSTVERBAND';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_DIENSTVERBAND', 'Dienstverband', 'Dienstverbanden', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_FUNCOPP';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_FUNCOPP', 'Functie opp.', 'Functie opp.', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_OPP';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_OPP', 'Werkelijke opp.', 'Werkelijke opp.', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_INGANGSDATUM';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_INGANGSDATUM', 'Ingangsdatum', 'Ingangsdata', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_EINDDATUM';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_EINDDATUM', 'Einddatum', 'Einddata', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_WERKPLEK_OMSCHRIJVING';
INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_WERKPLEK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
/* INV updates voor FAC (tbv. meervouden/lidwoorden voor HELP): */
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DISCIPLINE_OMSCHRIJVING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTGROEP_OMSCHRIJVING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTGROEP_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL', 'Artikelsoort', 'Artikelsoorten', 'het');DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_OMSCHRIJVING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING', 'Koppeling', 'Koppelingen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING_RUIMTE';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING_RUIMTE', 'Ruimte', 'ruimtes', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING_WERKPLEK';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING_WERKPLEK', 'Werkplek', 'werkplekken', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_SERIENR';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_SERIENR', 'Serienr.', 'serienrs.', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_OMSCHRIJVING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_OMSCHRIJVING', 'Omschrijving', 'omschrijvingen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_TYPE';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_TYPE', 'Type', 'types', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_BOUWJAAR';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_BOUWJAAR', 'Bouwjaar', 'bouwjaren', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_PRIJS';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_PRIJS', 'Prijs', 'prijzen', 'de');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_AANTAL';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_AANTAL', 'Aantal', 'aantallen', 'het');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_OPMERKING';
INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_OPMERKING', 'Opmerking', 'opmerkingen', 'de');
DELETE FROM FAC_MESSAGE WHERE FAC_MESSAGE_CODE='MLD_M147';
INSERT INTO fac_message VALUES ('MLD_M147', 'Alleen nog niet verwerkte activiteiten');
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='MRA_COMMANDANT_DATUM';
INSERT INTO FAC_ENTITY_NAME VALUES ('MRA_COMMANDANT_DATUM', 'Waarschuw.KazCo', NULL, NULL);
DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='MRA_SRTDEELVERV';
INSERT INTO FAC_ENTITY_NAME VALUES ('MRA_SRTDEELVERV', 'Stof', 'Stoffen', 'de');
#ifdef MRA
/* Module MRA */
DROP VIEW mra_v_geinvoorschr_brug;
DROP VIEW mra_v_geinvoorschr;
DROP VIEW mra_v_voorschrift_rapport;
DROP VIEW mra_v_ongein_rapport;
INSERT INTO fac_privilege VALUES ('mra_v_geinvoorschr_brug', 2);
CREATE VIEW mra_v_geinvoorschr_brug (mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_onrgoedvoorschr_key,
type,
mra_voorschrift_voldaan) AS
SELECT mra_GVH.alg_onrgoed_key,
mra_GVH.mra_voorschrift_key,
mra_OGV.mra_onrgoedvoorschr_key,
mra_GVH.type,
mra_OGV.mra_onrgoedvoorschr_voldaan
FROM mra_v_geinvoorschr_hulp mra_GVH,
mra_onrgoedvoorschr mra_OGV
WHERE mra_GVH.mra_voorschrift_key = mra_OGV.mra_voorschrift_key (+) AND
mra_OGV.mra_onroerendgoed_keys (+) = mra_GVH.alg_onrgoed_key AND
mra_OGV.mra_onrgoedvoorschr_type (+) = mra_GVH.type;
INSERT INTO fac_privilege VALUES ('mra_v_geinvoorschr', 2);
CREATE VIEW mra_v_geinvoorschr (mra_onroerendgoed_keys,
mra_voorschrift_key,
type,
mra_onrgoedvoorschr_key,
mra_voorschrift_afk,
mra_voorschrift_afk_upper,
mra_voorschrift_module,
mra_voorschrift_voldaan) AS
SELECT mra_GVB.mra_onroerendgoed_keys,
mra_GVB.mra_voorschrift_key,
mra_GVB.type,
mra_GVB.mra_onrgoedvoorschr_key,
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_afk_upper,
mra_V.mra_voorschrift_module,
mra_GVB.mra_voorschrift_voldaan
FROM mra_voorschrift MRA_V,
mra_v_geinvoorschr_brug mra_GVB
WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key;
INSERT INTO fac_privilege VALUES ('mra_v_voorschrift_rapport', 2);
CREATE VIEW mra_v_voorschrift_rapport
(
mra_onrgoedvoorschr_key,
mra_onrgoed_keys,
mra_voorschr_key,
mra_onrgoedvoorschr_voldaan,
type,
mra_onrgoedmanco_key,
mra_voorschr_afk,
mra_voorschrift_module,
mra_manco_omschrijving
)
AS
SELECT mra_OV.mra_onrgoedvoorschr_key,
mra_OV.mra_onroerendgoed_keys,
mra_OV.mra_voorschrift_key,
mra_OV.mra_onrgoedvoorschr_voldaan,
mra_OV.mra_onrgoedvoorschr_type,
mra_OM.mra_onrgoedmanco_key,
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_module,
mra_M.mra_manco_omschrijving
FROM mra_onrgoedvoorschr mra_OV,
mra_onrgoedmanco mra_OM,
mra_voorschrift mra_V,
mra_manco mra_M
WHERE mra_OM.mra_onrgoedvoorschr_key (+) = mra_OV.mra_onrgoedvoorschr_key AND
mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND
mra_M.mra_manco_key (+) = mra_OM.mra_manco_key AND
mra_OV.mra_onrgoedvoorschr_voldaan = 0
UNION
SELECT mra_OV.mra_onrgoedvoorschr_key,
mra_OV.mra_onroerendgoed_keys,
mra_OV.mra_voorschrift_key,
mra_OV.mra_onrgoedvoorschr_voldaan,
mra_OV.mra_onrgoedvoorschr_type,
to_number(NULL),
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_module,
NULL
FROM mra_onrgoedvoorschr mra_OV,
mra_voorschrift mra_V
WHERE mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND
mra_OV.mra_onrgoedvoorschr_voldaan = 1;
INSERT INTO fac_privilege VALUES ('mra_v_ongein_rapport', 2);
CREATE VIEW mra_v_ongein_rapport
(
mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_voorschrift_afk,
mra_voorschrift_module,
type,
mra_manco_omschrijving)
AS
SELECT mra_GV.mra_onroerendgoed_keys,
mra_GV.mra_voorschrift_key,
mra_GV.mra_voorschrift_afk,
mra_GV.mra_voorschrift_module,
mra_GV.type,
mra_M.mra_manco_omschrijving
FROM mra_v_geinvoorschr mra_GV,
mra_manco mra_M
WHERE mra_GV.mra_voorschrift_key = mra_M.mra_voorschrift_key (+) AND
mra_GV.mra_voorschrift_voldaan IS NULL;
#endif
#ifdef BCO
UPDATE fac_message SET fac_message_text='BCO 2.0'
WHERE UPPER(fac_message_code)=UPPER('fac_m002');
#endif
#ifdef INS
ALTER TABLE INS_DISCIPLINE
ADD
(
INS_DISCIPLINE_MODULE
VARCHAR2(3)
);
UPDATE INS_DISCIPLINE
SET INS_DISCIPLINE_MODULE = 'INS'
WHERE INS_DISCIPLINE_MODULE IS NULL;
ALTER TABLE INS_DISCIPLINE
MODIFY
(
INS_DISCIPLINE_MODULE
NOT NULL
);
ALTER TABLE INS_SRTGROEP
ADD
(
INS_SRTGROEP_MODULE
VARCHAR2(3)
);
UPDATE INS_SRTGROEP
SET INS_SRTGROEP_MODULE = 'INS'
WHERE INS_SRTGROEP_MODULE IS NULL;
ALTER TABLE INS_SRTGROEP
MODIFY
(
INS_SRTGROEP_MODULE
NOT NULL
);
ALTER TABLE INS_SRTDEEL
ADD
(
INS_SRTDEEL_MODULE
VARCHAR2(3)
);
UPDATE INS_SRTDEEL
SET INS_SRTDEEL_MODULE = 'INS'
WHERE INS_SRTDEEL_MODULE IS NULL;
ALTER TABLE INS_SRTDEEL
MODIFY
(
INS_SRTDEEL_MODULE
NOT NULL
);
ALTER TABLE INS_DEEL
ADD
(
INS_DEEL_MODULE
VARCHAR2(3)
);
UPDATE INS_DEEL
SET INS_DEEL_MODULE = 'INS'
WHERE INS_DEEL_MODULE IS NULL;
ALTER TABLE INS_DEEL
MODIFY
(
INS_DEEL_MODULE
NOT NULL
);
#endif
SPOOL OFF

File diff suppressed because it is too large Load Diff

View File

@@ -1,866 +0,0 @@
SPOOL 115to116
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.15 naar 01.16
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* 05-06-96 KTH SPOOL-filenaam gecorrigeerd (was nog 114to115)
* 05-06-96 AH PRS-entities toegevoegd
* 04-06-96 EH View prs_v_werkplek_gegevens intern aangepast (Performance)
* 03-06-96 EH 2 entities voor PRS toegevoegd.
* 03-06-96 AH INV_SRTDEEL-entity is Artikelsoort geworden.
* 31-05-96 AH LEV-message tegevoegd.
* 31-05-96 AH INS_T_INS_DEEL_B_IU aangepast voor INV/LEV. INS_Alg_ruimte_key
* kan ook 'L' (locaties) bevatten.
* 31-05-96 AH Voor LEV is de UNIQUE op INS_DEEL veranderd.
* 31-05-96 AH INV-entities en messages toegevoegd
* 31-05-96 AH Views INV_V_DEEL_GEGEVENS, INV_V_DEEL_PLAATS_GEGEVENS
* en INV_V_DEEL_BEZIT_GEGEVENS aangepast
* 31-05-96 AH Vakgroep, Artikelgroep en Artikelsoort aangepast in
* entities en messages
* 29-05-96 EH Aan de view prs_v_werkplekperslidgegevens persleden weer hun
* afdeling teruggegeven.
* 29-05-96 EH Lege file aangemaakt
*/
#include "comsql.h"
#ifdef PRS
CREATE OR REPLACE VIEW prs_v_werkplek_gegevens AS
SELECT PRS_W.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_omschrijving,
PRS_W.prs_werkplek_opp,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.alg_ruimte_bruto_vloeropp,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_volgnr,
ALG_V.alg_verdieping_omschrijving,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_G.alg_locatie_key
FROM prs_v_aanwezigwerkplek PRS_W, alg_ruimte ALG_R,
alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key;
CREATE_VIEW(prs_v_werkplekperslid_gegevens,NORMAAL_PRIVILEGE)
( prs_perslidwerkplek_key,
prs_perslid_key,
prs_afdeling_key,
prs_naam,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_opp,
alg_locatie_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_volgnr,
alg_verdieping_omschrijving,
alg_ruimte_nr,
alg_ruimte_upper_nr ) AS
SELECT PRS_PW.prs_perslidwerkplek_key,
PRS_PW.prs_perslid_key,
PRS_P.prs_afdeling_key,
PRS_P.prs_perslid_naam||' '||prs_perslid_voorletters,
PRS_PW.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_opp,
PRS_W.alg_locatie_key,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_verdieping_volgnr,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr
FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_perslid PRS_P,
prs_v_werkplek_gegevens PRS_W
WHERE PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key
AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key
UNION
SELECT PRS_PW.prs_perslidwerkplek_key,
to_number(NULL),
PRS_PW.prs_afdeling_key,
'['||PRS_A.prs_afdeling_naam||']',
PRS_PW.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_opp,
PRS_W.alg_locatie_key,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_verdieping_volgnr,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr
FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_afdeling PRS_A,
prs_v_werkplek_gegevens PRS_W
WHERE PRS_PW.prs_afdeling_key = PRS_A.prs_afdeling_key
AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key;
#endif //PRS
DEF_FAC_ENTITY ('PRS_RAFRAP_PERC', 'Perc.', NULL, NULL);
DEF_FAC_ENTITY ('PRS_RAFRAP_OPP', 'Opp. (m2)', NULL, NULL);
DEF_FAC_ENTITY ('PRS_OGWRAP_BUTTON', 'Overzicht', NULL, NULL);
DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het');
DEF_FAC_MESSAGE ('inv_m001', 'Verwijderen vakgroep ');
DEF_FAC_MESSAGE ('inv_m002', 'De omschrijving van de vakgroep is niet ingevuld.');
DEF_FAC_MESSAGE ('inv_m004', 'De vakgroep is niet ingevuld.');
DEF_FAC_MESSAGE ('inv_m007', 'De omschrijving voor het artikelsoort is niet ingevuld.');
DEF_FAC_MESSAGE ('inv_m008', 'Verwijderen artikelsoort ');
DEF_FAC_MESSAGE ('inv_m012', 'Het artikelsoort is niet ingevuld.');
#ifdef INV
CREATE_VIEW(inv_v_deel_gegevens,NORMAAL_PRIVILEGE) AS
SELECT INV_D.ins_discipline_key, INV_D.ins_discipline_omschrijving,
INV_SG.ins_srtgroep_key, INV_SG.ins_srtgroep_omschrijving,
INV_SG.ins_srtgroep_upper, INV_SD.ins_srtdeel_key,
INV_SD.ins_srtdeel_omschrijving, INV_SD.ins_srtdeel_upper,
INV_SD.inv_srtdeel_nr,
INV_DEEL.ins_deel_key, INV_DEEL.ins_deel_aantal,
INV_DEEL.ins_deel_omschrijving, INV_DEEL.ins_deel_upper,
INV_DEEL.ins_deel_serienr, INV_DEEL.ins_alg_ruimte_key,
INV_DEEL.ins_alg_ruimte_type, INV_DEEL.ins_prs_bezit_key,
INV_DEEL.ins_prs_bezit_type
#ifdef LEV
, INV_DEEL.lev_afvoerlijst_datum
#endif
FROM inv_v_aanwezigdiscipline INV_D, inv_v_aanwezigsrtgroep INV_SG,
inv_v_aanwezigsrtdeel INV_SD, inv_v_aanwezigdeel INV_DEEL
WHERE INV_SG.ins_srtgroep_key = INV_SD.ins_srtgroep_key
AND INV_D.ins_discipline_key = INV_SG.ins_discipline_key
AND INV_DEEL.ins_srtdeel_key = INV_SD.ins_srtdeel_key;
CREATE_VIEW(inv_v_deel_plaats_gegevens,NORMAAL_PRIVILEGE)
(ins_deel_key, ins_deel_omschrijving,
ins_deel_upper, ins_deel_aantal,
ins_alg_ruimte_key,
ins_alg_ruimte_type, ins_srtdeel_key,
#ifdef INV
inv_srtdeel_nr,
#endif
ins_srtdeel_omschrijving, ins_srtdeel_upper,
alg_locatie_key, alg_gebouw_key,
alg_gebouw_omschrijving, alg_gebouw_upper,
alg_verdieping_key, alg_verdieping_omschrijving,
alg_verdieping_volgnr, alg_ruimte_key,
alg_ruimte_nr, alg_ruimte_omschrijving,
alg_ruimte_upper_nr,
prs_werkplek_key, prs_werkplek_volgnr) AS
SELECT INV_D.ins_deel_key,
INV_D.ins_deel_omschrijving,
INV_D.ins_deel_upper,
INV_D.ins_deel_aantal,
INV_D.ins_alg_ruimte_key,
INV_D.ins_alg_ruimte_type,
INV_SD.ins_srtdeel_key,
#ifdef INV
INV_SD.inv_srtdeel_nr,
#endif
INV_SD.ins_srtdeel_omschrijving,
INV_SD.ins_srtdeel_upper,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_ruimte_upper_nr,
TO_NUMBER(NULL),
TO_NUMBER(NULL)
FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD,
alg_gebouw ALG_G, alg_verdieping ALG_V,
alg_ruimte ALG_R
WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key
AND ALG_R.alg_ruimte_key = INV_D.ins_alg_ruimte_key
AND INV_D.ins_alg_ruimte_type = 'R'
UNION
SELECT INV_D.ins_deel_key,
INV_D.ins_deel_omschrijving,
INV_D.ins_deel_upper,
INV_D.ins_deel_aantal,
INV_D.ins_alg_ruimte_key,
INV_D.ins_alg_ruimte_type,
INV_SD.ins_srtdeel_key,
#ifdef INV
INV_SD.inv_srtdeel_nr,
#endif
INV_SD.ins_srtdeel_omschrijving,
INV_SD.ins_srtdeel_upper,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_ruimte_upper_nr,
PRS_W.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr
FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD,
alg_gebouw ALG_G, alg_verdieping ALG_V,
alg_ruimte ALG_R, prs_werkplek PRS_W
WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key
AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key
AND PRS_W.prs_werkplek_key = INV_D.ins_alg_ruimte_key
AND INV_D.ins_alg_ruimte_type = 'W';
CREATE_VIEW(inv_v_deel_bezit_gegevens,NORMAAL_PRIVILEGE)
(ins_discipline_key, ins_srtgroep_key,
ins_srtdeel_key, ins_srtdeel_omschrijving,
ins_srtdeel_upper,
#ifdef INV
inv_srtdeel_nr,
#endif
ins_deel_key,
ins_deel_omschrijving, ins_deel_upper,
ins_deel_aantal,
ins_alg_ruimte_key, ins_alg_ruimte_type,
ins_prs_bezit_key, ins_prs_bezit_type,
prs_afdeling_key, prs_afdeling_naam,
prs_afdeling_omschrijving,
prs_afdeling_upper, prs_perslid_key,
prs_perslid_naam, prs_perslid_upper) AS
SELECT INV_D.ins_discipline_key,
INV_D.ins_srtgroep_key,
INV_D.ins_srtdeel_key,
INV_D.ins_srtdeel_omschrijving,
INV_D.ins_srtdeel_upper,
#ifdef INV
INV_D.inv_srtdeel_nr,
#endif
INV_D.ins_deel_key,
INV_D.ins_deel_omschrijving,
INV_D.ins_deel_upper,
INV_D.ins_deel_aantal,
INV_D.ins_alg_ruimte_key,
INV_D.ins_alg_ruimte_type,
INV_D.ins_prs_bezit_key,
INV_D.ins_prs_bezit_type,
PRS_A.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_omschrijving,
PRS_A.prs_afdeling_upper,
TO_NUMBER(NULL),
NULL,
NULL
FROM inv_v_deel_gegevens INV_D, prs_v_aanwezigafdeling PRS_A
WHERE INV_D.ins_prs_bezit_type = 'A'
AND INV_D.ins_prs_bezit_key = PRS_A.prs_afdeling_key
UNION
SELECT INV_D.ins_discipline_key,
INV_D.ins_srtgroep_key,
INV_D.ins_srtdeel_key,
INV_D.ins_srtdeel_omschrijving,
INV_D.ins_srtdeel_upper,
#ifdef INV
INV_D.inv_srtdeel_nr,
#endif
INV_D.ins_deel_key,
INV_D.ins_deel_omschrijving,
INV_D.ins_deel_upper,
INV_D.ins_deel_aantal,
INV_D.ins_alg_ruimte_key,
INV_D.ins_alg_ruimte_type,
INV_D.ins_prs_bezit_key,
INV_D.ins_prs_bezit_type,
PRS_A.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_omschrijving,
PRS_A.prs_afdeling_upper,
PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_upper||' '||UPPER(PRS_P.prs_perslid_voorletters)
FROM inv_v_deel_gegevens INV_D, prs_v_aanwezigafdeling PRS_A,
prs_v_aanwezigperslid PRS_P
WHERE INV_D.ins_prs_bezit_type = 'P'
AND INV_D.ins_prs_bezit_key = PRS_P.prs_perslid_key
AND PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key;
CREATE TRIGGER ins_t_ins_deel_B_IU
BEFORE INSERT OR UPDATE ON ins_deel
FOR EACH ROW
BEGIN
LOG('Begin INS_T_INS_DEEL_B_IU');
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper);
SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder,
ins_onderdeel_verwijder);
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte of terreinsector, daarvoor moet ook het
* INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn (met 'R' of 'T').
* Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
* nieuw record geinsert wordt.
*
* IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar
* als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek
* gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed
* ingevuld zijn (met 'R' of 'W').
*
* IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar
* INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden.
* INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het
* veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A').
*/
IF :new.ins_deel_module = 'INS'
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m83');
ELSIF :new.ins_alg_ruimte_type = 'T'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key,
:new.ins_alg_ruimte_key, 'ins_m83');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
#ifdef INV
ELSIF :new.ins_deel_module = 'INV'
AND (:new.ins_alg_ruimte_key IS NOT NULL
OR :new.ins_prs_bezit_key IS NOT NULL )
THEN
IF :new.ins_alg_ruimte_key IS NOT NULL
AND :new.ins_prs_bezit_key IS NOT NULL
THEN
APPLICATION_ERROR(-20000, 'ins_m85');
ELSIF :new.ins_alg_ruimte_key IS NOT NULL
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m88');
ELSIF :new.ins_alg_ruimte_type = 'W'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek, prs_werkplek_key,
:new.ins_alg_ruimte_key, 'ins_m88');
ELSIF :new.ins_alg_ruimte_type = 'L'
THEN
CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key,
:new.ins_alg_ruimte_key, 'ins_m88');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
ELSIF :new.ins_prs_bezit_key IS NOT NULL
THEN
IF :new.ins_prs_bezit_type = 'P'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigperslid, prs_perslid_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSIF :new.ins_prs_bezit_type = 'A'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSE
APPLICATION_ERROR(-20000, 'ins_m86');
END IF;
ELSE
APPLICATION_ERROR(-20000, 'ins_m87');
END IF;
#endif
END IF;
#ifdef INV
/* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld,
* ontkoppeld of verplaatst wordt van een ruimte of een werkplek,
* dan is de bijbehorende verdieping-tekening niet meer up to date en
* moet dus het INV_DWGUPTODATE-veld gezet worden.
*
* Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd,
* moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft
* het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden.
*/
IF :new.ins_deel_module = 'INV'
THEN
/* Verwijderen */
IF :new.ins_deel_verwijder IS NOT NULL
/* Koppelen */
OR (:old.ins_alg_ruimte_key IS NULL
AND :new.ins_alg_ruimte_key IS NOT NULL)
/* Ontkoppelen */
OR (:old.ins_alg_ruimte_key IS NOT NULL
AND :new.ins_alg_ruimte_key IS NULL)
/* Verplaatsen */
OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key)
/* Van INS_SRTDEEL veranderen.
* ACADSYMBOL is hierin nog niet verwerkt.
*/
OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key)
THEN
/* Voor de oude INS_ALG_RUIMTE_KEY */
IF :old.ins_alg_ruimte_type = 'R'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :old.ins_alg_ruimte_type = 'W'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
/* Voor de nieuwe INS_ALG_RUIMTE_KEY*/
IF :new.ins_alg_ruimte_type = 'R'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :new.ins_alg_ruimte_type = 'W'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
END IF;
END IF;
#endif // INV
/* Gedeelte t.b.v. eventuele attribuutjes */
DECLARE dummy NUMBER;
BEGIN
SELECT count(*) INTO dummy
FROM ins_v_attribute_gegevens
WHERE ins_srtdeel_key = :new.ins_srtdeel_key;
IF dummy <> 0 /* attributen aanwezig */
THEN
IF :new.fac0 <> :old.fac0 OR :new.fac0 IS NULL OR :old.fac0 IS NULL
THEN
/*
* Trigger t.b.v. de 'flexibele' velden in ins_deel
*/
CHECK_ATTRIBUTE(fac0,0);
END IF;
IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF;
IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF;
IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF;
IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF;
IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF;
IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF;
IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF;
IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF;
IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF;
END IF;
END;
/* Einde attributen */
#ifdef BCP
/* Procedure Taak */
IF :new.ins_deel_module = 'INS' AND :new.ins_alg_ruimte_type = 'R'
THEN
DECLARE
/* zoek taak bij nGebouw en bij deelsoort */
CURSOR c1(nGebouw NUMBER, nSrtdeel NUMBER) IS
SELECT A.bcp_taak_key, B.bcp_verzamel_key
FROM bcp_v_aanwezigtaak A, bcp_v_aanwezigverzamel B
WHERE A.bcp_verzamel_key = B.bcp_verzamel_key
AND B.bcp_ins_srtdeel_key = nSrtdeel
AND A.bcp_alg_gebouw_key = nGebouw;
Rec c1%ROWTYPE;
/* zoek alle verzamelopdrachten bij een deelsoort */
CURSOR c2(nSrtdeel NUMBER) IS
SELECT bcp_verzamel_key
FROM bcp_v_aanwezigverzamel
WHERE bcp_ins_srtdeel_key = nSrtdeel;
Rec2 c2%ROWTYPE;
nGebouw NUMBER(10);
nOudGebouw NUMBER(10);
nVerzamel NUMBER(10);
nUren NUMBER(10);
nMateriaal NUMBER(12);
nFreqWeken NUMBER(2);
nSector NUMBER(2);
nStartweek NUMBER(4);
nStartwerkweek NUMBER(4);
nJaar NUMBER(4);
nWeek NUMBER(4);
nWerkweek NUMBER(4);
nTaak NUMBER(10);
nStatus NUMBER(10);
nFactor NUMBER(10);
teller NUMBER(10);
teller2 NUMBER(10);
totaal NUMBER(10);
aant NUMBER(10);
nStatusUpper VARCHAR2(30);
verzamel_veranderd BOOLEAN;
taken_veranderd BOOLEAN;
nOthing BOOLEAN;
BEGIN
/* zoek gebouw en sector bij ruimte waar deel is */
SELECT A.alg_gebouw_key, A.bco_gebouw_sector
INTO nGebouw, nSector
FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C
WHERE A.alg_gebouw_key = B.alg_gebouw_key
AND B.alg_verdieping_key = C.alg_verdieping_key
AND C.alg_ruimte_key = :new.ins_alg_ruimte_key;
IF NOT :old.ins_srtdeel_key IS NULL THEN
SELECT A.alg_gebouw_key
INTO nOudGebouw
FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C
WHERE A.alg_gebouw_key = B.alg_gebouw_key
AND B.alg_verdieping_key = C.alg_verdieping_key
AND C.alg_ruimte_key = :old.ins_alg_ruimte_key;
END IF;
/* bepalen of de taken en eventueel de verzamelopdrachten van
het deel veranderd zijn. */
IF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) AND (nGebouw = nOudGebouw) THEN
verzamel_veranderd := FALSE;
taken_veranderd := FALSE;
ELSIF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) THEN
verzamel_veranderd := TRUE;
taken_veranderd := FALSE;
ELSE
verzamel_veranderd := TRUE;
taken_veranderd := TRUE;
END IF;
IF taken_veranderd THEN
/* alleen de taken bij oud_deel updaten als er een oud_deel is */
IF (NOT :old.ins_srtdeel_key IS NULL)
AND (NOT nOudGebouw IS NULL)
AND (NOT :old.ins_deel_verwijder = NULLDATUM)
THEN
OPEN c1(nOudGebouw, :old.ins_srtdeel_key);
LOOP
FETCH c1 INTO Rec;
EXIT WHEN c1%NOTFOUND;
nTaak := Rec.bcp_taak_key;
SELECT bcp_taak_aantal, bcp_ins_deel_aantal
INTO totaal, teller
FROM bcp_v_aanwezigtaak
WHERE bcp_taak_key = nTaak;
IF (teller = 1) THEN
UPDATE bcp_taak
SET bcp_taak_verwijder = SYSDATE
WHERE bcp_taak_key = nTaak;
ELSIF (teller > 1) THEN
/* bepaal aantal van het te verwijderen deel ...*/
aant := :old.ins_deel_aantal;
/* ... en pas de taak aan */
UPDATE bcp_taak
SET bcp_taak_uren = (totaal-aant)/totaal * bcp_taak_uren,
bcp_taak_materiaal = (totaal-aant)/totaal * bcp_taak_materiaal,
bcp_ins_deel_aantal = bcp_ins_deel_aantal-1,
bcp_taak_aantal = bcp_taak_aantal - :old.ins_deel_aantal
WHERE bcp_taak_key = nTaak;
END IF;
END LOOP;
CLOSE c1;
END IF; /* einde: CHANGE? */
/* nu passen we het nieuwe deel in de taken in,
(nog steeds taken_veranderd=TRUE) */
IF (NOT :new.ins_srtdeel_key IS NULL)
AND (NOT nGebouw IS NULL)
AND (NOT :new.ins_deel_verwijder = NULLDATUM)
THEN
OPEN c2(:new.ins_srtdeel_key);
LOOP
FETCH c2 INTO Rec2;
EXIT WHEN c2%NOTFOUND;
nVerzamel := Rec2.bcp_verzamel_key;
/* zoek of er een taak is bij de verzamelopdracht
en betreffende het gebouw */
BEGIN
SELECT bcp_taak_key
INTO nTaak
FROM bcp_v_aanwezigtaak
WHERE bcp_verzamel_key = nVerzamel
AND bcp_alg_gebouw_key = nGebouw;
EXCEPTION
WHEN NO_DATA_FOUND THEN
nTaak:= NULL;
END;
IF (nTaak IS NULL) THEN /* geen taak bij verzamel gevonden */
SELECT A.bcp_verzamel_uren, A.bcp_verzamel_materiaal, B.bcp_frequentie_weken
INTO nUren, nMateriaal, nFreqWeken
FROM bcp_verzamel A, bcp_frequentie B
WHERE A.bcp_frequentie_key = B.bcp_frequentie_key
AND A.bcp_verzamel_key = nVerzamel;
nJaar := mod(to_number(to_char(SYSDATE, 'YYYY')),100);
nStartweek := bcp_f_bcp4deel.bepaal_startweek(nSector, nFreqWeken, nVerzamel, nJaar);
INSERT INTO bcp_taak(bcp_verzamel_key,
bcp_alg_gebouw_key,
bcp_taak_uren,
bcp_taak_materiaal,
bcp_taak_eersteweek,
bcp_taak_aantal,
bcp_ins_deel_aantal)
VALUES(nVerzamel,
nGebouw,
nUren * :new.ins_deel_aantal,
nMateriaal * :new.ins_deel_aantal,
nStartweek,
:new.ins_deel_aantal,
1);
SELECT bcp_taak_key
INTO nTaak
FROM bcp_v_aanwezigtaak
WHERE bcp_verzamel_key = nVerzamel
AND bcp_alg_gebouw_key = nGebouw;
nStatus := bcp_f_bcp4deel.bepaalstatusopdrkey('BCP_STATUSOPDR_INGEPLAND');
nWeek := to_number(to_char(SYSDATE, 'YY') || to_char(SYSDATE,'WW'));
nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nWeek, nWerkweek);
nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nStartweek, nStartwerkweek);
INSERT INTO bcp_prevopdr(bcp_taak_key,
bcp_mld_statusopdr_key,
bcp_prevopdr_ingepland,
bcp_prevopdr_ingepland2)
VALUES(nTaak,
nStatus,
nStartweek,
nStartwerkweek);
ELSE /* Taak gevonden, bij elke gevonden verzamelopdracht
is er precies eentje, dus uniek */
SELECT bcp_taak_aantal, bcp_ins_deel_aantal,
bcp_taak_uren, bcp_taak_materiaal
INTO teller, teller2, nUren, nMateriaal
FROM bcp_v_aanwezigtaak A
WHERE A.bcp_taak_key = nTaak;
nFactor := (teller + :new.ins_deel_aantal)/teller;
IF (nUren * nFactor > 999.99) THEN
APPLICATION_ERROR(-20000,'bcp_m044');
END IF;
IF (nMateriaal * nFactor > 999999.99) THEN
APPLICATION_ERROR(-20000,'bcp_m045');
END IF;
UPDATE bcp_taak
SET bcp_taak_uren = bcp_taak_uren * nFactor,
bcp_taak_materiaal = bcp_taak_materiaal * NFactor,
bcp_taak_aantal = teller2 + :new.ins_deel_aantal,
bcp_ins_deel_aantal = teller + 1
WHERE bcp_taak_key = nTaak;
END IF;
END LOOP;
CLOSE c2;
END IF;
ELSE /* taken niet veranderd, alleen uren & materiaal even updaten */
OPEN c1(nOudGebouw, :old.ins_srtdeel_key);
LOOP
FETCH c1 INTO Rec;
EXIT WHEN c1%NOTFOUND;
nTaak := Rec.bcp_taak_key;
SELECT bcp_taak_uren, bcp_taak_materiaal, bcp_taak_aantal
INTO nUren, nMateriaal, teller
FROM bcp_v_aanwezigtaak
WHERE bcp_taak_key = nTaak;
/* factor is (totaal-oud+nieuw)/totaal */
nFactor := (teller + :new.ins_deel_aantal - :old.ins_deel_aantal)/teller;
IF (nUren * nFactor > 999.99) THEN
APPLICATION_ERROR(-20000,'bcp_m044');
END IF;
IF (nMateriaal * nFactor > 999999.99) THEN
APPLICATION_ERROR(-20000,'bcp_m045');
END IF;
UPDATE bcp_taak
SET bcp_taak_uren = bcp_taak_uren * nFactor,
bcp_taak_materiaal = bcp_taak_materiaal * NFactor,
bcp_taak_aantal = teller + :new.ins_deel_aantal - :old.ins_deel_aantal
WHERE bcp_taak_key = nTaak;
END LOOP; /* taken voor update */
CLOSE c1;
END IF; /* einde: taken_veranderd */
END;
END IF;
#endif
#ifdef LEV
LOG('Begin voor gedeelte van LEV voor kostenpost');
/* Bij het aanmaken van een leveringsregel wordt een INS_DEEL
* aangemaakt. Als OLD.lev_levering_key IS NULL en NEW.lev_levering_key
* IS NOT NULL dan wordt dit INS_DEEL nieuw aangemaakt, dus kunnen
* de kosten van deze levering bij ALG_KOSTENPOST_BESTEED geboekt worden.
*
* Bij het wijzigen van een leveringsregel kan niet bepaald worden of
* in het scherm EDIT-levering het aantal aangepast is of bij
* toekenning een aantal het INS_DEEL verhuisd naar een ander INS_DEEL.
* Deze stap is opgelost in het form EDIT-levering.
*/
IF :old.lev_levering_key IS NULL
AND :new.lev_levering_key IS NOT NULL
THEN
DECLARE
prijs INS_SRTDEEL.INV_SRTDEEL_PRIJS%TYPE;
BEGIN
SELECT NVL(INS_SD.inv_srtdeel_prijs, 0)
INTO prijs
FROM ins_srtdeel INS_SD
WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key;
UPDATE alg_kostenpost
SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) +
NVL(:new.ins_deel_aantal, 0) * prijs
WHERE alg_kostenpost_key = (SELECT lev_alg_kostenpost_key
FROM lev_bestelling
WHERE lev_bestelling_key = :new.lev_bestelling_key);
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
END;
END IF;
LOG('Einde voor gedeelte van LEV voor kostenpost');
#endif
LOG('Eind INS_T_INS_DEEL_B_IU');
END;
/
#endif // INV
DEF_FAC_ENTITY ('INV_VERHUIS_DATUM', 'Verhuisdatum', 'Verhuisdata', 'de');
DEF_FAC_ENTITY ('INV_VERHUIS_VAN', 'Van', NULL, NULL);
DEF_FAC_ENTITY ('INV_VERHUIS_NAAR', 'Naar', NULL, NULL);
DEF_FAC_ENTITY ('INV_VERHUIS_BIJZONDERHEDEN', 'Bijzonderheden', NULL, 'de');
DEF_FAC_MESSAGE ('INV_M037', 'Verhuisformulier');
DEF_FAC_MESSAGE ('INV_M038', 'Het registratienummer moet ingevuld worden.');
DEF_FAC_MESSAGE ('INV_M039', 'De datum is niet ingevuld.');
DEF_FAC_MESSAGE ('INV_M040', 'Gewenste verhuisdatum');
DEF_FAC_MESSAGE ('INV_M041', 'Het artikelnummer is niet ingevuld.');
DEF_FAC_MESSAGE ('INV_M042', 'Gereserveerd voor afvoer');
DEF_FAC_MESSAGE ('INV_M043', 'Artikel moet gekozen zijn.');
DEF_FAC_MESSAGE ('INV_M044', 'Aantal te verwijderen artikelen');
DEF_FAC_MESSAGE ('INV_M045', 'Het te verwijderen aantal moet kleiner of gelijk zijn aan het aantal delen.');
#ifdef LEV
ALTER TABLE ins_deel
DROP
UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper,
lev_levering_key, lev_bestelling_key, ins_deel_verwijder);
ALTER TABLE ins_deel
ADD
UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper,
lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum,
ins_deel_verwijder);
#endif // LEV
INSERT INTO fac_message VALUES('LEV_M050', 'Alleen nog toe te wijzen leveringen');
UPDATE fac_entity_name
SET fac_entity_user_name = 'Artikelsoort',
fac_entity_user_name_m = 'Artikelsoorten',
fac_entity_user_name_pre = 'het'
WHERE fac_entity_system_name = 'INV_SRTDEEL';
UPDATE fac_message
SET fac_message_text = 'Verwijderen vakgroep '
WHERE fac_message_code = 'INV_M001';
UPDATE fac_message
SET fac_message_text = 'De omschrijving van de vakgroep is niet ingevuld.'
WHERE fac_message_code = 'INV_M002';
UPDATE fac_message
SET fac_message_text = 'De vakgroep is niet ingevuld.'
WHERE fac_message_code = 'INV_M004';
UPDATE fac_message
SET fac_message_text = 'De omschrijving voor het artikelsoort is niet ingevuld.'
WHERE fac_message_code = 'INV_M007';
UPDATE fac_message
SET fac_message_text = 'Verwijderen artikelsoort '
WHERE fac_message_code = 'INV_M008';
UPDATE fac_message
SET fac_message_text = 'Het artikelsoort is niet ingevuld.'
WHERE fac_message_code = 'INV_M012';
DEF_FAC_ENTITY ('PRS_PERSLID_ELCONR', 'Elconr.', 'Elconummers', 'het');
DEF_FAC_ENTITY ('PRS_PERSLID_EENHEID', 'Eenheid', 'Eenheden', 'de');
DEF_FAC_ENTITY ('PRS_PERSLID_RANG', 'Rang', 'Rangen', 'de');
SPOOL OFF

View File

@@ -1,335 +0,0 @@
SPOOL 116to117
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.16 naar 01.17
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* 25-06-96 EH Entities ALG_VERDIEPING_OPP en ALG_GEBOUW_OPP toegevoegd.
* 25-06-96 EH View prevopdr_gegevens aangepast; view openprevopdr_gegevens
* verwijderd (redundant).
* 21-06-96 AH INV-messages 028 en 016 aangepast.
* 21-06-96 EH Message prs_m053 toegevoegd.
* 20-06-96 AH UNIQUE op PRS_WERKPLEK uitgebreid met PRS_WERKPLEK_MODULE.
* 19-06-96 EH Entity 'ALG_TERREINSECTOR_B' (voor button) toegevoegd.
* 13-06-96 EH De volgende indices toegevoegd:
* - mld_alg_kostenpost_key aan mld_opdr
* - mld_opdr_key aan mld_bestelregel
* - mld_opdr_key aan bco_werkregel
* - mld_statusopdr_key aan bcp_prevopdr
* - bcp_prevopdr_key aan bco_werkregel
* - mra_eenheid aan mld_melding
* - mra_veroorzaker aan mld_melding
* 13-06-96 EH Indices voor LEV toegevoegd.
* 13-06-96 EH Indices voor SLE toegevoegd.
* 13-06-96 AH INV_M024 en INV_M030 saangepast.
* 10-06-96 EH Fac_message SCH_NIVO2 toegevoegd.
* 10-06-96 EH In ins_v_attr_hulp ins_v_.. veranderd in all_v ...
* 10-06-96 AH PRS_M052 toegevoegd.
* 07-06-96 KTH fac_privilege.object_name moeten UPPERs zijn (zie COMSQL.H)
* 07-06-96 EH alg_locatie_key toegevoegd aan ins_v_onderdeel_gegevens
* 07-06-96 EH UNIQUE constraint op srtinst tabellen uitgebreid.
* 06-06-96 AH PRS_WERKPLEK_MODULE toegevoegd.
* 05-06-96 KTH Lege file aangemaakt.
*/
#include "comsql.h"
update fac_privilege set object_name=UPPER(object_name);
DEF_FAC_MESSAGE ('SCH_NIVO2','Schoonmaakniveau');
DEF_FAC_MESSAGE ('PRS_M053', 'Afdeling moet worden ingevuld');
DEF_FAC_ENTITY ('ALG_VERDIEPING_OPP', 'Netto vloeropp.', NULL, NULL);
DEF_FAC_ENTITY ('ALG_GEBOUW_OPP', 'Netto vloeropp.', NULL, NULL);
#ifdef PRS
ALTER TABLE prs_werkplek
ADD
( prs_werkplek_module
VARCHAR2(3)
DEFAULT 'PRR');
UPDATE prs_werkplek
SET prs_werkplek_module = 'PRR';
ALTER TABLE prs_werkplek
MODIFY
(
prs_werkplek_module
NOT NULL
);
#endif
#ifdef SLE
CREATE INDEX sle_i_sle_sleutel_perslid1 ON sle_sleutel_perslid(sle_prs_perslid_key);
CREATE INDEX sle_i_sle_sleutel_perslid2 ON sle_sleutel_perslid(sle_sleutel_key);
CREATE INDEX sle_i_sle_sleutel_slot1 ON sle_sleutel_slot(sle_sleutel_key);
CREATE INDEX sle_i_sle_sleutel_slot2 ON sle_sleutel_slot(sle_slot_key);
CREATE INDEX sle_i_sle_slot ON sle_slot(sle_alg_onroerendgoed_keys);
#endif
#ifdef LEV
CREATE INDEX lev_i_lev_bestelling1 ON lev_bestelling (lev_alg_kostenpost_key);
CREATE INDEX lev_i_lev_bestelling2 ON lev_bestelling (lev_prs_bedrijf_key);
CREATE INDEX lev_i_lev_bestelling3 ON lev_bestelling (lev_prs_perslid_key);
CREATE INDEX lev_i_lev_bestelling4 ON lev_bestelling (lev_alg_gebouw_key);
CREATE INDEX lev_i_lev_bestelregel1 ON lev_bestelregel (lev_bestelling_key);
CREATE INDEX lev_i_lev_bestelregel2 ON lev_bestelregel (lev_ins_srtdeel_key);
CREATE INDEX lev_i_lev_bestelregel3 ON lev_bestelregel (lev_alg_ruimte_key);
CREATE INDEX lev_i_lev_levering ON lev_levering (lev_prs_bedrijf_key);
#endif
#ifdef MLD
CREATE INDEX mld_i_mld_opdr7 on mld_opdr(mld_alg_kostenpost_key);
CREATE INDEX mld_i_mld_bestelregel2 on mld_bestelregel(mld_opdr_key);
#endif
#ifdef BCO
CREATE INDEX bco_i_bco_werkregel2 on bco_werkregel(bco_mld_opdr_key);
#endif
#ifdef BCP
CREATE INDEX bcp_i_bcp_prevopdr4 on bcp_prevopdr(bcp_mld_statusopdr_key);
CREATE INDEX bcp_i_bco_werkregel1 on bco_werkregel(bcp_prevopdr_key);
CREATE_VIEW(bcp_v_prevopdr_gegevens,NORMAAL_PRIVILEGE)
( bcp_prevopdr_key,
bcp_prevopdr_status,
bcp_prevopdr_jaarweek,
bcp_prevopdr_discipline,
bcp_prevopdr_locatie) AS
SELECT BCP_P.bcp_prevopdr_key,
MLD_S.mld_statusopdr_omschrijving,
BCP_P.bcp_prevopdr_week,
INS_D.ins_discipline_omschrijving,
ALG_L.alg_locatie_omschrijving
FROM bcp_prevopdr BCP_P,
mld_statusopdr MLD_S,
bcp_taak BCP_T,
bcp_v_aanwezigverzamel BCP_V,
ins_v_aanwezigsrtdeel INS_SD,
ins_srtgroep INS_SG,
ins_discipline INS_D,
alg_v_aanweziggebouw ALG_G,
alg_locatie ALG_L
WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key
AND BCP_T.bcp_verzamel_key = BCP_V.bcp_verzamel_key
AND BCP_V.bcp_ins_srtdeel_key = INS_SD.ins_srtdeel_key
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
AND BCP_T.bcp_alg_gebouw_key = ALG_G.alg_gebouw_key
AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key;
DROP VIEW bcp_v_openprevopdr_gegevens;
#endif
#ifdef MRA
CREATE INDEX mra_i_mra_melding2 on mld_melding(mra_melding_melder_eenheid);
CREATE INDEX mra_i_mra_melding3 on mld_melding(mra_melding_veroorzaker);
#endif
#ifdef INS
ALTER TABLE ins_discipline
DROP
UNIQUE(ins_discipline_omschrijving, ins_discipline_verwijder);
ALTER TABLE ins_srtgroep
DROP
UNIQUE(ins_srtgroep_upper, ins_srtgroep_verwijder);
ALTER TABLE ins_srtdeel
DROP
UNIQUE(ins_srtdeel_upper, ins_srtdeel_verwijder);
ALTER TABLE ins_discipline
ADD
(
UNIQUE(ins_discipline_omschrijving, ins_discipline_verwijder,
ins_discipline_module)
);
ALTER TABLE ins_srtgroep
ADD
(
UNIQUE(ins_srtgroep_upper, ins_srtgroep_verwijder, ins_srtgroep_module)
);
ALTER TABLE ins_srtdeel
ADD
(
UNIQUE(ins_srtdeel_upper,ins_srtdeel_verwijder, ins_srtdeel_module)
);
DROP VIEW ins_v_onderdeel_gegevens;
CREATE VIEW ins_v_onderdeel_gegevens
(
ins_srtdeel_key, ins_srtdeel_omschrijving,
ins_srtdeel_upper, ins_srtonderdeel_key,
ins_srtonderdeel_omschrijving, ins_srtonderdeel_upper,
ins_deel_key, ins_deel_omschrijving,
ins_deel_upper, ins_onderdeel_key,
ins_onderdeel_omschrijving, ins_onderdeel_aantal,
ins_onderdeel_fabrikaat, ins_onderdeel_type,
ins_onderdeel_serienr,ins_onderdeel_bouwjaar,
ins_onderdeel_capaciteit, ins_onderdeel_prijs,
ins_onderdeel_levensduur, ins_onderdeel_opmerking,
ins_onderdeel_upper, alg_locatie_key,
alg_gebouw_key, alg_gebouw_upper, alg_verdieping_key,
alg_verdieping_upper, alg_ruimte_key, alg_ruimte_nr,
plaatsdeel_omschrijving
)
AS
SELECT ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving,
ins_D.ins_srtdeel_upper, ins_SOD.ins_srtonderdeel_key,
ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper,
ins_D.ins_deel_key, ins_D.ins_deel_omschrijving,
ins_D.ins_deel_upper, ins_OD.ins_onderdeel_key,
ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_aantal,
ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type,
ins_OD.ins_onderdeel_serienr,ins_OD.ins_onderdeel_bouwjaar,
ins_OD.ins_onderdeel_capaciteit, ins_OD.ins_onderdeel_prijs,
ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking,
ins_OD.ins_onderdeel_upper, ins_D.alg_locatie_key,
ins_D.alg_gebouw_key, ins_D.alg_gebouw_upper,
ins_D.alg_verdieping_key, ins_D.alg_verdieping_upper,
ins_D.alg_ruimte_key, ins_D.alg_ruimte_nr,
ins_D.plaatsdeel_omschrijving
FROM ins_v_aanwezigsrtonderdeel ins_SOD,
ins_v_aanwezigonderdeel ins_OD,
ins_v_deel_gegevens ins_D
WHERE
ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND
ins_D.ins_deel_key = ins_OD.ins_deel_key;
CREATE_VIEW(ins_v_attr_hulp, NORMAAL_PRIVILEGE)
(ins_discipline_key,
ins_srtgroep_key,
ins_srtdeel_key,
ins_attribute_main_key) AS
SELECT INS_A.ins_srtinst_keys,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A
WHERE INS_A.ins_srtinst_type = 'D'
UNION
SELECT TO_NUMBER(NULL),
INS_A.ins_srtinst_keys,
TO_NUMBER(NULL),
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A
WHERE INS_A.ins_srtinst_type = 'G'
UNION
SELECT TO_NUMBER(NULL),
INS_SG.ins_srtgroep_key,
TO_NUMBER(NULL),
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A,
ins_srtgroep INS_SG
WHERE INS_A.ins_srtinst_type = 'D' AND
INS_A.ins_srtinst_keys = INS_SG.ins_discipline_key
UNION
SELECT TO_NUMBER(NULL),
TO_NUMBER(NULL),
INS_A.ins_srtinst_keys,
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A
WHERE INS_A.ins_srtinst_type = 'S'
UNION
SELECT TO_NUMBER(NULL),
TO_NUMBER(NULL),
INS_SD.ins_srtdeel_key,
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A,
ins_srtdeel INS_SD
WHERE INS_A.ins_srtinst_type = 'G' AND
INS_A.ins_srtinst_keys = INS_SD.ins_srtgroep_key
UNION
SELECT TO_NUMBER(NULL),
TO_NUMBER(NULL),
INS_SDG.ins_srtdeel_key,
INS_A.ins_attribute_main_key
FROM ins_attribute INS_A,
all_v_srtdeel_gegevens INS_SDG
WHERE INS_A.ins_srtinst_type = 'D' AND
INS_A.ins_srtinst_keys = INS_SDG.ins_discipline_key;
#endif
INSERT INTO fac_message VALUES('PRS_M052', 'Inzetbaar voor storing');
DELETE FROM fac_message
WHERE UPPER(fac_message_code) = 'INV_M024';
INSERT INTO fac_message VALUES('INV_M024', 'De plaats is niet ingevuld.');
DELETE FROM fac_message
WHERE UPPER(fac_message_code) = 'INV_M030';
INSERT INTO fac_message VALUES('INV_M030', 'Inventaris in ruimte');
DELETE FROM fac_message
WHERE UPPER(fac_message_code) = 'INV_M028';
INSERT INTO fac_message VALUES('INV_M028', 'De eigenaar is niet ingevuld.');
DELETE FROM fac_message
WHERE UPPER(fac_message_code) = 'INV_M016';
INSERT INTO fac_message VALUES('INV_M016', 'Eigenaar van inventaris');
#if defined(PMK)||defined(pmk)
DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Syst. cluster', Null, Null);
#else
DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Terreinsector', 'Terreinsectoren', 'de');
#endif
#ifdef PRS
ALTER TABLE prs_werkplek
DROP UNIQUE(prs_werkplek_volgnr, prs_alg_ruimte_key, prs_werkplek_verwijder);
ALTER TABLE prs_werkplek
ADD UNIQUE(prs_werkplek_module, prs_werkplek_volgnr, prs_alg_ruimte_key, prs_werkplek_verwijder);
#endif
#ifdef LEV
ALTER TABLE ins_deel
DROP
UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper,
lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum,
ins_deel_verwijder);
ALTER TABLE ins_deel
ADD
UNIQUE(ins_alg_ruimte_key, ins_prs_bezit_key, ins_srtdeel_key, ins_deel_upper,
lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum,
ins_deel_verwijder);
#endif
SPOOL OFF

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,254 +0,0 @@
SPOOL 121to122
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.21 naar 01.22
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* 08-11-96 AH INV_DEEL_GEBRUIK voor HUI-module heet 'Plaats'
* 08-11-96 AH LOG#965, 970: Messages aangepast en toegevoegd
* 07-11-96 AH LOG#985: ALG_RUIMTE-velden toeegevoegd,
* HUI_V_OVERNACHTING_GEGEVENS aangepast
* 07-11-96 AH LOG#976: FAC_GEBRUIKER-table toegevoegd
* HUI_V_AANWEZIGHUISMEESTER aangepast
* 06-11-96 AH LOG#823: INV_M049 - 053 en ALG_M194 toegevoegd
* 05-11-96 AH LOG#979: BCP_M100 - 103 toegevoegd
* 05-11-96 AH LOG#979: BCO_M132 - 135 toegevoegd
* 04-11-96 AH LOG#968: INS_M099 gekopieerd naar INS_M114 voor enkelvoud
* LOG#970: INS_M115 en 116 toegevoegd
* 04-11-96 AH INS_M113 toegevoegd
* 01-11-96 AH ALL_V_SRTDEEL_GEGEVENS aangepast voor INS012
* 01-11-96 AH LOG#828: HUI_V_RUIMTEBOEKING_GEGEVENS aangepast
* 01-11-96 AH LOG#831: LEV_POSTADRES toegevoegd
* ------ 01.21 -----
*/
#include <modules.h>
PROMPT Upgrading van versie 121 naar 122...
DEF_FAC_ENTITY ('LEV_POSTADRES', 'Factuuradres', NULL, NULL);
#ifdef HUI
CREATE_VIEW(hui_v_ruimteboeking_gegevens, NORMAAL_PRIVILEGE)
(hui_ruimteboeking_key,
alg_locatie_key,
alg_gebouw_key,
alg_gebouw_code,
alg_verdieping_key,
alg_verdieping_omschrijving,
alg_verdieping_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_omschrijving,
prs_huismeester_key,
prs_perslid_key,
prs_perslid_nr,
prs_perslid_naam,
hui_ruimteboeking_begindatum,
hui_ruimteboeking_einddatum) AS
SELECT HUI_R.hui_ruimteboeking_key,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.prs_huismeester_key,
PRS_P.prs_perslid_key,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters,
HUI_R.hui_ruimteboeking_begindatum,
HUI_R.hui_ruimteboeking_einddatum
FROM alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
prs_perslid PRS_P, hui_ruimteboeking HUI_R
WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND ALG_R.alg_ruimte_key = HUI_R.hui_alg_ruimte_key
AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key;
#endif
#ifdef INS
CREATE_VIEW(all_v_srtdeel_gegevens,BIBLIOTHEEK_PRIVILEGE) AS
SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving,
ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving,
ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key,
ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper,
ins_SD.ins_srtdeel_module
#ifdef INV
, ins_SD.inv_srtdeel_nr
#endif
FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG,
all_v_aanwezigsrtdeel ins_SD
WHERE
ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND
ins_D.ins_discipline_key = ins_SG.ins_discipline_key;
#endif
DEF_FAC_MESSAGE ('INS_M113', 'Aantal moet groter zijn dan 0.');
DEF_FAC_MESSAGE ('INS_M114', '%1% deel van de %2% gekopieerd.');
DEF_FAC_MESSAGE ('INS_M115', 'Ruimte mag niet ingevuld zijn.');
#ifdef BCO
DEF_FAC_MESSAGE ('INS_M116', 'Bouwlaag mag niet ingevuld zijn.');
#else
DEF_FAC_MESSAGE ('INS_M116', 'Verdieping mag niet ingevuld zijn.');
#endif
DEF_FAC_MESSAGE ('BCO_M132', 'Correctieve opdracht %1% van bedrijf %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCO_M133', 'Correctieve opdracht %1% van bestek %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCO_M134', 'Correctieve opdracht %1% van functie bij bedrijf %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCO_M135', 'Correctieve opdracht %1% van persoon %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCP_M100', 'Preventieve opdracht %1% van bedrijf %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCP_M101', 'Preventieve opdracht %1% van bestek %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCP_M102', 'Preventieve opdracht %1% van functie bij bedrijf %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCP_M103', 'Preventieve opdracht %1% van persoon %2% is ingetrokken');
INSERT INTO FAC_MESSAGE VALUES('BCP_M103', 'Preventieve opdracht %1% van persoon %2% is ingetrokken');
INSERT INTO FAC_MESSAGE VALUES('INV_M049', 'Er zijn geen artikelen geselecteerd');
INSERT INTO FAC_MESSAGE VALUES('INV_M050', 'De geselecteerd artikelen ontkoppelen of verwijderen?');
INSERT INTO FAC_MESSAGE VALUES('INV_M051', 'Afvoeren of verwijderen');
INSERT INTO FAC_MESSAGE VALUES('INV_M052', 'De geselecteerd artikelen afvoeren of verwijderen?');
INSERT INTO FAC_MESSAGE VALUES('INV_M053', 'De geselecteerd artikelen koppelen aan persoon');
INSERT INTO FAC_MESSAGE VALUES('ALG_M194', 'Deze functie is niet toegestaan met meerdere geselecteerde records');
#ifdef FAC
// Table voor autorisatie
CREATE_TABLE(fac_gebruiker, BASIS_PRIVILEGE)
(
FAC_USERNAME
VARCHAR2(30)
NOT NULL,
FAC_MODULE
VARCHAR2(3)
NOT NULL,
FAC_TABEL
VARCHAR2(32),
FAC_KOLOM
VARCHAR2(32),
FAC_KEY
NUMBER(10),
FAC_SOORT
VARCHAR2(1)
);
#endif
#ifdef HUI
CREATE_VIEW(hui_v_aanwezighuismeester, NORMAAL_PRIVILEGE)
AS
SELECT HUI_P.*
FROM hui_v_aanwezigperslid HUI_P, fac_gebruiker FAC_G
WHERE fac_module = 'HUI'
AND fac_tabel = 'PRS_PERSLID'
AND fac_kolom = 'PRS_PERSLID_KEY'
AND fac_key = HUI_P.prs_perslid_key;
CREATE OR REPLACE VIEW hui_v_overnachting_gegevens
AS
SELECT ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.prs_huismeester_key,
ALG_R.hui_categorie_key,
ALG_R.hui_eenheid,
ALG_R.hui_geslacht,
HUI_W.prs_werkplek_key,
HUI_W.prs_werkplek_module,
HUI_W.prs_werkplek_volgnr,
HUI_PW.prs_perslidwerkplek_key,
HUI_PW.hui_status,
HUI_PW.hui_begindatum,
HUI_PW.hui_einddatum,
HUI_PW.prs_perslid_key
FROM hui_v_aanwezigwerkplek HUI_W,
alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G,
hui_v_aanwezigperslidwerkplek HUI_PW
WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND HUI_W.prs_werkplek_key = HUI_PW.prs_werkplek_key
UNION
SELECT ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.prs_huismeester_key,
ALG_R.hui_categorie_key,
ALG_R.hui_eenheid,
ALG_R.hui_geslacht,
HUI_W.prs_werkplek_key,
HUI_W.prs_werkplek_module,
HUI_W.prs_werkplek_volgnr,
TO_NUMBER(NULL),
NULL,
TO_DATE(NULL),
TO_DATE(NULL),
TO_NUMBER(NULL)
FROM hui_v_aanwezigwerkplek HUI_W,
alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G
WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key;
#endif
#ifdef ALG
ALTER TABLE alg_ruimte
ADD
(
alg_ruimte_vloer_omschrijving
VARCHAR2(15),
alg_ruimte_opp_gevelglas
NUMBER(8,2),
alg_ruimte_opp_separatieglas
NUMBER(8,2),
alg_ruimte_opp_gevelbekleding
NUMBER(8,2)
);
#endif
INSERT INTO FAC_MESSAGE VALUES('INS_M117', 'Terreinsector kopieren ');
INSERT INTO FAC_MESSAGE VALUES('INS_M118', 'Wilt u de gehele terreinsector kopieren?');
DELETE FROM fac_message
WHERE fac_message_code IN ('INS_M061', 'INS_M050', 'INS_M091', 'MRA_M018',
'ALG_M079', 'ALG_M082', 'ALG_M085', 'ALG_M159');
INSERT INTO FAC_MESSAGE VALUES('INS_M061', 'Wilt u het deel kopieren?');
INSERT INTO FAC_MESSAGE VALUES('INS_M050', 'Ruimte moet gekozen zijn.');
INSERT INTO FAC_MESSAGE VALUES('INS_M091', 'Gebouw moet gekozen zijn.');
INSERT INTO FAC_MESSAGE VALUES('MRA_M018','Terreinsector moet gekozen zijn.');
INSERT INTO FAC_MESSAGE VALUES('ALG_M079', 'Verwijderen Gebouw %1%, inclusief delen');
INSERT INTO FAC_MESSAGE VALUES('ALG_M082', 'Verwijderen Bouwlaag %1%, inclusief delen');
INSERT INTO FAC_MESSAGE VALUES('ALG_M085', 'Verwijderen Ruimte %1%, inclusief delen');
INSERT INTO FAC_MESSAGE VALUES('ALG_M159', 'De geselecteerde ruimtes, inclusief delen verwijderen');
INSERT INTO FAC_MESSAGE VALUES('ALG_M195','Verwijderen terreinsector %1%, inclusief delen');
#ifdef HUI
DELETE FROM fac_entity_name
WHERE fac_entity_system_name = 'INV_DEEL_GEBRUIK';
INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL_GEBRUIK', 'Plaats', NULL, 'het');
#endif
PROMPT Vergeet niet te committen!

View File

@@ -1,833 +0,0 @@
SPOOL 122to123
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.22 naar 01.23
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* --- 01.23 ---
* 18-11-96 AH HUI_M051 toegevoegd
* 18-11-96 AG LOG#1034: BCO_M136, BCO_M137 toegevoegd, BCO_M113/114 aangepast
* 18-11-96 AG LOG#1043: Messages voor BCO_COMMENTAAR aangepast
* 18-11-96 AH LOG#985: HUI215/216 toegevoegd
* 15-11-96 AH LOG#985: Hui-frequentie zaken toegevoegd + ALG_V_RUIMTE_GEGEVENS
*+18-11-96 aangepast
* 15-11-96 AH De DELETE-code van locatiebestek is nu een FUNCTION geworden
* en wordt aangeroepen en in PRS021 en PRS023 bij Verwijderen
* PRS_T_PRS_LOCATIEBESTEK_B_D-trigger is verwijderd
* 14-11-96 AH LOG#1043: BCO_COMMENTAAR te klein tekst-veld en Objectgroep
* en Jaarweek opslaan,
* 14-11-96 AH LOG#1035: PRS_T_PRS_LOCATIEBESTEK_B_IU en _B_D aangepast.
* 14-11-96 AH LOG#1035: PRS_M092 aangepast, PRS_M097 - PRS_M099 toegevoegd
* 13-11-96 AH LOG#1035: PRS_T_PRS_DISCBESTEK_B_D aangepast, Als discipline-
* bestek als default uitvoerende is aangegeven bij mld_opdr
* of bij prevopdr dan mag deze ook niet verwijderd worden.
* Zelfde extra conditie geldt bij verwijderen LocatieBestek
* 13-11-96 AH LOG#1035: PRS_M088 aangepast
* 13-11-96 AH LOG#1033: MLD_M55 aangepast.
* 13-11-96 AH LOG#1021: MLD_M163, BCP_M104, BCP_M105, BCP_M106, BCP_M107 toegevoegd
* 12-11-96 AH LOG#1019: PRS_M096 toegevoegd
* 12-11-96 AH MLD_V_OPENOPDR aangepast voor Historisch overzicht.
* Ook Ingevoerde opdrachten worden meegenomen.
* 12-11-96 AH LOG#1012: BCO_V_INSTMELDING_GEGEVENS aangepast
* 12-11-96 AH LOG#1006: BCO_V_BCP_BCO_OPDR aangepast, ook locatie_key meenemen
* 12-11-96 AH LOG#999, 1000: BCP_M070 en BCP_M069 aangepast
* 11-11-96 AH LOG#991: MLD_M135 aangepast
* 11-11-96 AH LOG#988: opgelost in mld_t_mld_opdr_b_d en
* bcp_t_bcp_prevopdr_b_d
* ------ 01.22 -----
*/
#include <comsql.h>
#include <modules.h>
PROMPT Upgrading van versie 122 naar 123...
#ifdef MLD
CREATE OR REPLACE TRIGGER mld_t_mld_opdr_b_d
BEFORE DELETE ON mld_opdr
FOR EACH ROW
BEGIN
/* Een verwerkte opdracht mag niet verwijderd worden */
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_statusopdr MLD_S
WHERE :old.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt';
APPLICATION_ERROR(-20002, 'mld_m135');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
END;
#ifdef BCO
/* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM bco_werkregel
WHERE bcp_mld_opdr_key = :old.mld_opdr_key;
APPLICATION_ERROR(-20002, 'mld_m158');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'mld_m158');
END;
#endif
/* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_bestelregel
WHERE bcp_mld_opdr_key = :old.mld_opdr_key;
APPLICATION_ERROR(-20002, 'mld_m162');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'mld_m162');
END;
END;
/
#endif // MLD
#ifdef BCP
CREATE OR REPLACE TRIGGER bcp_t_bcp_prevopdr_b_d
BEFORE DELETE ON bcp_prevopdr
FOR EACH ROW
BEGIN
/* Een verwerkte opdracht mag niet verwijderd worden */
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_statusopdr MLD_S
WHERE :old.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt';
APPLICATION_ERROR(-20002, 'mld_m135');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
END;
/* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM bco_werkregel
WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key;
APPLICATION_ERROR(-20002, 'mld_m158');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'mld_m158');
END;
/* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_bestelregel
WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key;
APPLICATION_ERROR(-20002, 'mld_m162');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'mld_m162');
END;
END;
/
#endif // BCP
DEF_FAC_MESSAGE ('MLD_M162', 'De opdracht komt nog op een bestelopdracht voor.');
DELETE FROM fac_message
WHERE fac_message_code in ('MLD_M135', 'BCP_M069', 'BCP_M070');
#if defined(MRA)
DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte activiteit mag niet verwijderd worden.');
#else
DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte opdracht mag niet verwijderd worden.');
#endif // MRA
DEF_FAC_MESSAGE ('BCP_M069', 'De datum van de meterstand is niet ingevuld.');
DEF_FAC_MESSAGE ('BCP_M070', 'De meterstand is niet ingevuld.');
#ifdef BCO
CREATE_VIEW (bco_v_bcp_bco_opdr, NORMAAL_PRIVILEGE)
( bcp_bco_opdr_key,
bcp_bco_opdr_module,
bcp_bco_uitvoerende_keys,
bcp_bco_statusopdr_key,
bcp_bco_opdr_uren,
bcp_bco_opdr_materiaal,
bcp_bco_opdr_kosten,
bcp_bco_opdr_werkzaamheden,
bcp_bco_opdr_week,
alg_locatie_key) AS
SELECT MLD_O.mld_opdr_key,
'BCO',
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_statusopdr_key,
MLD_O.mld_opdr_uren,
MLD_O.mld_opdr_materiaal,
MLD_O.mld_opdr_kosten,
MLD_O.mld_opdr_werkzaamheden,
MLD_O.bco_opdr_weekuitgifte,
MLD_OL.alg_locatie_key
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL
WHERE MLD_OL.alg_onroerendgoed_keys = MLD_M.mld_alg_onroerendgoed_keys
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_opdr_module = 'BCO'
UNION
SELECT BCP_P.bcp_prevopdr_key,
'BCP',
BCP_P.bcp_mld_uitvoerende_keys,
BCP_P.bcp_mld_statusopdr_key,
BCP_P.bcp_prevopdr_uren,
BCP_P.bcp_prevopdr_materiaal,
BCP_P.bcp_prevopdr_kosten,
BCP_P.bcp_prevopdr_werkzaamheden,
BCP_P.bcp_prevopdr_week,
MLD_OL.alg_locatie_key
FROM bcp_prevopdr BCP_P, bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL
WHERE MLD_OL.alg_onroerendgoed_keys = BCP_T.bcp_alg_gebouw_key
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key;
CREATE_VIEW(bco_v_instmelding_gegevens,NORMAAL_PRIVILEGE) (bco_instmelding_key,
bco_mld_melding_key,
ins_srtdeel_omschrijving,
ins_srtdeel_upper,
ins_deel_omschrijving,
ins_deel_upper,
ins_onderdeel_omschrijving,
ins_onderdeel_upper,
ins_element_omschrijving,
ins_element_upper) AS
SELECT BCO_I.bco_instmelding_key,
BCO_I.bco_mld_melding_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_D.ins_deel_omschrijving,
INS_D.ins_deel_upper,
NULL,
NULL,
NULL,
NULL
FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD,
ins_v_aanwezigdeel INS_D
WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys
AND INS_I.ins_type = 'D'
AND INS_I.ins_inst_keys = INS_D.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key
UNION
SELECT BCO_I.bco_instmelding_key,
BCO_I.bco_mld_melding_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_D.ins_deel_omschrijving,
INS_D.ins_deel_upper,
INS_O.ins_onderdeel_omschrijving,
INS_O.ins_onderdeel_upper,
NULL,
NULL
FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD,
ins_v_aanwezigdeel INS_D, ins_v_aanwezigonderdeel INS_O
WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys
AND INS_I.ins_type = 'O'
AND INS_I.ins_inst_keys = INS_O.ins_onderdeel_key
AND INS_O.ins_deel_key = INS_D.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key
UNION
SELECT BCO_I.bco_instmelding_key,
BCO_I.bco_mld_melding_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_D.ins_deel_omschrijving,
INS_D.ins_deel_upper,
INS_O.ins_onderdeel_omschrijving,
INS_O.ins_onderdeel_upper,
INS_E.ins_element_omschrijving,
INS_E.ins_element_upper
FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD,
ins_v_aanwezigdeel INS_D, ins_v_aanwezigonderdeel INS_O,
ins_v_aanwezigelement INS_E
WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys
AND INS_I.ins_type = 'E'
AND INS_I.ins_inst_keys = INS_E.ins_element_key
AND INS_E.ins_onderdeel_key = INS_O.ins_onderdeel_key
AND INS_O.ins_deel_key = INS_D.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key;
#endif // BCO
#ifdef MLD
CREATE_VIEW(mld_v_openopdr,NORMAAL_PRIVILEGE) AS
SELECT *
FROM mld_opdr
WHERE mld_opdr.mld_statusopdr_key IN
(SELECT mld_statusopdr_key
FROM mld_statusopdr
WHERE mld_statusopdr.mld_statusopdr_omschrijving = 'Uitgegeven' OR
mld_statusopdr.mld_statusopdr_omschrijving = 'Afgemeld' OR
mld_statusopdr.mld_statusopdr_omschrijving = 'Ingevoerd');
#endif // MLD
DEF_FAC_MESSAGE ('PRS_M096', 'Het opgegeven bestek is verlopen.');
DEF_FAC_MESSAGE ('MLD_M163', 'Afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.');
DEF_FAC_MESSAGE ('BCP_M104', 'Ingeplande opdrachten kunnen niet afgemeld of verwerkt worden.');
DEF_FAC_MESSAGE ('BCP_M105', 'Afmelden preventieve opdracht');
DEF_FAC_MESSAGE ('BCP_M106', 'Preventieve opdracht %1% wordt afgemeld. Doorgaan?');
DEF_FAC_MESSAGE ('BCP_M107', 'Uitgegeven, afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.');
DELETE FROM fac_message
WHERE fac_message_code IN ( 'MLD_M55', 'PRS_M088');
DEF_FAC_MESSAGE ('mld_m55', 'De termijn moet positieve waarden bevatten.');
DEF_FAC_MESSAGE ('PRS_M088', 'Er zijn nog opdrachten bij de discipline van het bestek');
#ifdef INS
DROP TRIGGER prs_t_prs_discbestek_B_D;
CREATE TRIGGER prs_t_prs_discbestek_B_D
BEFORE DELETE ON prs_disciplinebestek
FOR EACH ROW
BEGIN
/* Als het bestek al als default uitvoerende is aangegeven bij een
* INS_SRTDEEL, dan mag de koppeling tussen de discipline van het
* INS_SRTDEEL en het bestek niet verwijderd worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM ins_v_aanwezigsrtdeel INS_D
WHERE INS_D.bco_defaultuitv_keys = :old.prs_disciplinebestek_key;
APPLICATION_ERROR(-20002, 'prs_m069');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'prs_m069');
END;
// Mag niet verwijderd worden als er MLD_OPDR's zijn met als uitvoerende
// deze disicplinebestek
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_opdr
WHERE mld_uitvoerende_keys = :old.prs_disciplinebestek_key
#ifdef BCO
OR bco_defaultuitv_keys = :old.prs_disciplinebestek_key
#endif // BCO
;
APPLICATION_ERROR(-20002, 'prs_m088');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'prs_m088');
END;
#ifdef BCP
// Mag niet verwijderd worden als er BCP_PREVOPDR's zijn met als uitvoerende
// deze disicplinebestek
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM bcp_prevopdr
WHERE bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key
OR bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key;
APPLICATION_ERROR(-20002, 'prs_m088');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'prs_m088');
END;
#endif // BCP
END;
/
DROP TRIGGER prs_t_prs_locatiebestek_B_IU;
CREATE TRIGGER prs_t_prs_locatiebestek_B_IU
BEFORE INSERT OR UPDATE ON prs_locatiebestek
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key);
#if defined(MLD) || defined(BCP)
/* Een LocatieBestek mag NIET toegevoegd worden als:
* - Het (discipline)bestek als (default) uitvoerende is aangegeven bij
* een of meer opdrachten en als er nog geen LocatieBestek-records zijn
* voor het bestek.
* Uitzondering: Als er opdrachten zijn EN deze allemaal betrekking hebben
* op de toe te voegen locatie.
* Een LocatieBestek mag NIET worden gewijzigd als:
* - Het (discipline)bestek als (default) uitvoerende is aangegeven bij
* een of meer opdrachten die betrekking hebben op de te wijzigen
* LocatieBestek.
*/
// Toevoegen
IF :old.alg_locatie_key IS NULL
AND :new.alg_locatie_key IS NOT NULL
THEN
#ifdef MLD
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_opdr MLD_O,
prs_disciplinebestek PRS_DB,
mld_melding MLD_M,
mld_v_onroerendgoed_locatie MLD_OL
WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys
OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys)
AND PRS_DB.prs_bestek_key = :new.prs_bestek_key
AND NOT EXISTS (SELECT 'X'
FROM prs_locatiebestek PRS_LB
WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key
AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key
AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key);
APPLICATION_ERROR(-20000, 'prs_m098');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'prs_m098');
END;
#endif // MLD
#ifdef BCP
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P,
bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL
WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key
AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys
OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys)
AND PRS_DB.prs_bestek_key = :new.prs_bestek_key
AND NOT EXISTS (SELECT 'X'
FROM prs_locatiebestek PRS_LB
WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key
AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key
AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key);
APPLICATION_ERROR(-20000, 'prs_m099');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'prs_m099');
END;
#endif // BCP
// Wijzigen
ELSIF :old.alg_locatie_key IS NOT NULL
AND :new.alg_locatie_key IS NOT NULL
THEN
#ifdef MLD
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O,
mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL
WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key = :old.alg_locatie_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys
#ifdef BCO
OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys
#endif // BCO
)
AND PRS_DB.prs_bestek_key = :old.prs_bestek_key;
APPLICATION_ERROR(-20000, 'prs_m097');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'prs_m097');
END;
#endif // MLD
#ifdef BCP
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P,
bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL
WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key = :old.alg_locatie_key
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key
AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys
OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys)
AND PRS_DB.prs_bestek_key = :old.prs_bestek_key;
APPLICATION_ERROR(-20000, 'prs_m097');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'prs_m097');
END;
#endif // BCP
END IF;
#endif // MLD || BCP
END;
/
DROP TRIGGER prs_t_prs_locatiebestek_B_D;
CREATE TRIGGER prs_t_prs_locatiebestek_B_D
BEFORE DELETE ON prs_locatiebestek
FOR EACH ROW
BEGIN
#ifdef MLD
/* Een LocatieBestek mag NIET verwijderd worden als:
* - Het (discipline)bestek als (default) uitvoerende is aangegeven bij
* een of meer opdrachten die betrekking hebben op de te verwijderen
* LocatieBestek.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O,
mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL
WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key = :old.alg_locatie_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys
#ifdef BCO
OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys
#endif // BCO
)
AND PRS_DB.prs_bestek_key = :old.prs_bestek_key;
APPLICATION_ERROR(-20002, 'prs_m092');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'prs_m092');
END;
#endif
#ifdef BCP
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P,
bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL
WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys
AND MLD_OL.alg_locatie_key = :old.alg_locatie_key
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key
AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys
OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys)
AND PRS_DB.prs_bestek_key = :old.prs_bestek_key;
APPLICATION_ERROR(-20002, 'prs_m092');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20002, 'prs_m092');
END;
#endif
#if !defined(MLD) && !defined(BCP)
NULL;
#endif
END;
/
#endif // INS
DELETE FROM fac_message
WHERE fac_message_code = 'PRS_M092';
#ifdef BCO
DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij dit object.');
DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij het oude object.');
DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere objecten.');
DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere objecten.');
#else
DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij deze locatie.');
DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij de oude locatie.');
DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere locaties.');
DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere locaties.');
#endif
#ifdef BCO
ALTER TABLE bco_commentaar
ADD
(
bco_commentaar_jaarweek
NUMBER(6),
bco_locatiegroep_key
NUMBER(10)
);
ALTER TABLE bco_commentaar
MODIFY
(
bco_commentaar_tekst
VARCHAR2(200)
);
#endif // BCO
#ifdef PRS
CREATE OR REPLACE FUNCTION prs_t_prs_locatiebestek_B_D( bestek_key IN NUMBER, locatie_key IN NUMBER,
key_soort IN CHAR )
RETURN VARCHAR2 AS
error_msg fac_message.fac_message_code%TYPE;
BEGIN
error_msg := NULL;
#ifdef MLD
/* Een LocatieBestek mag NIET verwijderd worden als:
* - Het (discipline)bestek als (default) uitvoerende is aangegeven bij
* een of meer opdrachten die betrekking hebben op de te verwijderen
* LocatieBestek.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O,
mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL,
prs_locatiebestek PRS_LB
WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys
AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key
AND key_soort = 'B')
OR (MLD_OL.alg_locatie_key = locatie_key
AND key_soort = 'L'))
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys
#ifdef BCO
OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys
#endif // BCO
)
AND PRS_DB.prs_bestek_key = PRS_LB.prs_bestek_key
AND PRS_DB.prs_bestek_key = bestek_key;
error_msg := 'prs_m092';
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN error_msg := 'prs_m092';
END;
#endif
#ifdef BCP
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P,
bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL,
prs_locatiebestek PRS_LB
WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys
AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key
AND key_soort = 'B')
OR (MLD_OL.alg_locatie_key = locatie_key
AND key_soort = 'L'))
AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key
AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys
OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys)
AND PRS_LB.prs_bestek_key = PRS_DB.prs_bestek_key
AND PRS_DB.prs_bestek_key = bestek_key;
error_msg := 'prs_m092';
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN error_msg := 'prs_m092';
END;
#endif
RETURN error_msg;
END;
/
DROP TRIGGER prs_t_prs_locatiebestek_B_D;
#endif // PRS
DEF_FAC_FORM('HUI015', NULL, NULL ,'150150','HUI_HUI015','Overzichtscherm Frequentie');
DEF_FAC_FORM('HUI115', NULL, NULL ,'151150','HUI_HUI115','Mutatiescherm Frequentie');
DEF_FAC_FORM('HUI016', NULL, NULL ,'150160','HUI_HUI016','Overzichtscherm Schoonmaakfreq. onrgoed');
DEF_FAC_FORM('HUI116', NULL, NULL ,'151160','HUI_HUI116','Mutatiescherm Schoonmaakfreq. onrgoed');
DEF_FAC_ENTITY ('HUI_FREQUENTIE', 'Frequentie', 'Frequenties', 'de');
DEF_FAC_ENTITY ('HUI_FREQUENTIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
DEF_FAC_ENTITY ('HUI_FREQUENTIE_DAGEN', 'Dagen', NULL, 'de');
DEF_FAC_MESSAGE ('HUI_M041', 'Verwijderen frequentie ');
DEF_FAC_MESSAGE ('HUI_M042', 'De omschrijving is niet ingevuld.');
DEF_FAC_MESSAGE ('HUI_M043', 'Het aantal dagen is niet ingevuld.');
DEF_FAC_MESSAGE ('HUI_M044', 'Schoonmaakfrequentie onroerendgoed');
DEF_FAC_MESSAGE ('HUI_M045', 'Verwijderen schoonmaakfrequentie');
DEF_FAC_MESSAGE ('HUI_M046', 'Verwijderen schoonmaakfrequentie %1% van ruimte %2%');
DEF_FAC_MESSAGE ('HUI_M047', 'Verwijder de geselecteerde schoonmaakfrequenties?');
DEF_FAC_MESSAGE ('HUI_M048', 'De frequentie is niet ingevuld.');
DEF_FAC_MESSAGE ('HUI_M049', 'Overzicht schoonmaken glas');
DEF_FAC_MESSAGE ('HUI_M050', 'Overzicht schoonmaken ruimte');
DEF_FAC_ENTITY ('ALG_RUIMTE_VLOER_OMSCHRIJVING', 'Vloerbedekking', NULL, NULL);
DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELGLAS', 'Gevelglas', NULL, NULL);
DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_EENHEID', '(m2)', NULL, NULL);
DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_SEPARATIEGLAS', 'Separatieglas', NULL, NULL);
DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELBEKLEDING', 'Gevelbekleding', NULL, NULL);
DEF_FAC_ENTITY ('ALG_RUIMTE_VLOEROPP_PER_WEEK', 'Per week', NULL, NULL);
#ifdef HUI
CREATE_TABLE(hui_frequentie, NORMAAL_PRIVILEGE)
(
hui_frequentie_key
NUMBER(10)
NOT NULL
PRIMARY KEY,
hui_frequentie_omschrijving
VARCHAR2(30)
NOT NULL,
hui_frequentie_upper
VARCHAR2(30)
NOT NULL
UNIQUE,
hui_frequentie_dagen
NUMBER(3)
NOT NULL
);
CREATE_TABLE(hui_onroerendgoed_frequentie, NORMAAL_PRIVILEGE)
(
hui_frequentie_key
NUMBER(10)
NOT NULL
REFERENCES hui_frequentie(hui_frequentie_key),
hui_alg_onroerendgoed_keys
NUMBER(10)
NOT NULL,
hui_alg_onroerendgoed_type
VARCHAR2(1)
NOT NULL,
UNIQUE(hui_alg_onroerendgoed_keys)
);
CREATE SEQUENCE hui_s_hui_frequentie_key MINVALUE 1;
CREATE TRIGGER hui_t_hui_frequentie_b_iu
BEFORE INSERT OR UPDATE ON hui_frequentie
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(hui_frequentie_key, hui_s_hui_frequentie_key);
UPDATE_UPPER(hui_frequentie_omschrijving, hui_frequentie_upper);
END;
/
CREATE_VIEW(hui_v_frequentie_gegevens, NORMAAL_PRIVILEGE)
AS
SELECT HUI_OF.hui_alg_onroerendgoed_keys,
HUI_OF.hui_alg_onroerendgoed_type,
HUI_OF.hui_frequentie_key,
HUI_F.hui_frequentie_omschrijving,
HUI_F.hui_frequentie_upper,
ALG_G.alg_gebouw_key,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr
FROM hui_onroerendgoed_frequentie HUI_OF, hui_frequentie HUI_F,
alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R
WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND ALG_R.alg_ruimte_key = HUI_OF.hui_alg_onroerendgoed_keys
AND HUI_OF.hui_frequentie_key = HUI_F.hui_frequentie_key;
#endif // HUI
#ifdef ALG
CREATE_VIEW(alg_v_ruimte_gegevens,NORMAAL_PRIVILEGE) AS
SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key,
ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_G.alg_gebouw_key, ALG_G.alg_srtgebouw_key,
ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper,
ALG_V.alg_verdieping_volgnr,
ALG_V.alg_verdieping_tekening, ALG_R.alg_ruimte_key,
ALG_S.alg_srtruimte_key, ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_acadkey,
ALG_R.alg_ruimte_omschrijving, ALG_R.alg_ruimte_upper_nr,
ALG_S.alg_srtruimte_omschrijving,
ALG_R.alg_ruimte_vloer_omschrijving,
ALG_R.alg_ruimte_bruto_vloeropp,
ALG_R.alg_ruimte_opp_gevelglas,
ALG_R.alg_ruimte_opp_separatieglas,
ALG_R.alg_ruimte_opp_gevelbekleding
#ifdef HUI
, ALG_R.prs_huismeester_key
#endif
FROM alg_locatie ALG_L, alg_gebouw ALG_G,
alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
alg_v_aanwezigsrtruimte ALG_S
WHERE
ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key AND
ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND
ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND
ALG_R.alg_srtruimte_key = ALG_S.alg_srtruimte_key (+);
#endif // ALG
DEF_FAC_FORM('HUI215', NULL, NULL ,'152150','HUI_HUI215','Rapport schoonmaak glas');
DEF_FAC_FORM('HUI216', NULL, NULL ,'152160','HUI_HUI216','Rapport schoonmaak ruimte');
DELETE FROM fac_message
WHERE fac_message_code IN ('BCP_M082',
'BCP_M083',
'BCP_M073',
'BCP_M074',
'BCP_M091',
'BCP_M097',
'BCP_M102',
'BCO_M119',
'BCO_M134');
INSERT INTO FAC_MESSAGE VALUES('BCP_M073', 'Nieuwe preventieve opdracht %1% aangemaakt en heeft status ''%2%''');
INSERT INTO FAC_MESSAGE VALUES('BCP_M074', 'Nieuwe taak %1% van verzamelopdracht %2% aangemaakt voor onroerendgoed %3%');
INSERT INTO FAC_MESSAGE VALUES('BCP_M082', 'Bestek %1% heeft niet genoeg uren (%2%) beschikbaar');
INSERT INTO FAC_MESSAGE VALUES('BCP_M083', 'Bestek %1% heeft niet genoeg materiaalkosten (%2%) beschikbaar');
INSERT INTO FAC_MESSAGE VALUES('BCP_M091', 'Preventieve opdracht %1% is uitgegeven aan functie %2%');
INSERT INTO FAC_MESSAGE VALUES('BCP_M097', 'Aantal nieuwe preventieve opdrachten aangemaakt: %1%');
INSERT INTO FAC_MESSAGE VALUES('BCP_M102', 'Preventieve opdracht %1% van functie %2% is ingetrokken');
INSERT INTO FAC_MESSAGE VALUES('BCO_M119', 'Correctieve opdracht %1% is uitgegeven aan functie %2%');
INSERT INTO FAC_MESSAGE VALUES('BCO_M134', 'Correctieve opdracht %1% van functie %2% is ingetrokken');
DEF_FAC_MESSAGE ('BCO_M136', 'Er zijn opdrachten van deze weekplanning afgemeld of verwerkt.');
INSERT INTO FAC_MESSAGE VALUES('BCO_M137', '%1% uitgegeven correctieve opdrachten zijn weer ingetrokken');
DELETE FROM fac_message
WHERE fac_message_code IN ('BCO_M113', 'BCO_M114');
INSERT INTO FAC_MESSAGE VALUES('BCO_M113', 'Correctieve opdracht %1% is ingetrokken, deze is langer dan 2 weken uitgegeven.');
INSERT INTO FAC_MESSAGE VALUES('BCO_M114', '%1% correctieve opdrachten ingetrokken, ze zijn langer dan 2 weken uitgegeven.');
DEF_FAC_MESSAGE ('HUI_M051', 'De huidige frequenties van de ruimtes in %1% %2% overschrijven?');
PROMPT Vergeet niet te committen!

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,413 +0,0 @@
SPOOL 126to127
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.26 naar 01.27
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* 22-04-97 KTH Toevoegingen nav QA-test 1.27 en bugfixes door AH
* 16-04-97 AH BEBIS: CREATE TABLE's gebruikte ipv. CREATE_TABLE()
* ALG_SRTTERREIN en ALG_SRTVERDIEPING-entities aangepast.
* BEB_INI bevatte de tabel RAGIS_PRIJZEN. Deze zijn verwijderd.
* 11-04-97 KTH Aangemaakt
*/
/* 16-04-97 AH BEBIS */
INSERT INTO fac_privilege VALUES (UPPER('alg_objectdeel'), 2);
INSERT INTO fac_privilege VALUES (UPPER('alg_systeemcluster'), 2);
INSERT INTO fac_privilege VALUES (UPPER('alg_bouwdeel'), 2);
DELETE FROM fac_entity_name
WHERE fac_entity_system_name in ('ALG_SRTTERREIN',
'ALG_SRTVERDIEPING',
'ALG_SRTVERDIEPING_VOLGNR');
#if defined(BEB)
DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terrein/Werksrt', 'Terrein/Werksoorten', 'de');
#else
DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terreinsoort', 'Terreinsoorten', 'de');
#endif
DEF_FAC_ENTITY ('ALG_SRTVERDIEPING', 'Verdiepingsoort', 'Verdiepingsoorten', 'de');
DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_VOLGNR', 'Volgnummer', 'Volgnummers', 'het');
#ifdef BEB
DELETE FROM ins_srtdeel
WHERE ins_srtdeel_module = 'INS'
AND ins_srtgroep_key in (SELECT ins_srtgroep_key FROM ins_srtgroep
WHERE (ins_srtgroep_upper='BOUWKUNDE'
OR ins_srtgroep_upper='ELEKTROTECHNIEK'));
/* Bouwkunde delen */
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 40 , 1 ,'m2', SUBSTR(INITCAP('STRAATWERK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150 , 2 ,'m2', SUBSTR(INITCAP('ASFALTERING'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 20, 3 ,'m2', SUBSTR(INITCAP('GRAAFWERK 70cm DIEP'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 4 ,'m2', SUBSTR(INITCAP('STEENSMETSELWERK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 5 ,'m2', SUBSTR(INITCAP('<27> STEENSMETSELWERK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 6 ,'m2', SUBSTR(INITCAP('GEVELOPENING DICHTMETSELEN STEENS'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150, 7 ,'m2', SUBSTR(INITCAP('GEVELOPENING DICHTMETSELEN <20> STEENS'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150, 8 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN VLOER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150, 9 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN WAND'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150, 10 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN PLAFOND'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 11 ,'m2', SUBSTR(INITCAP('VENTILATIE-OPENING BEVEILIGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 300, 12 ,'m2', SUBSTR(INITCAP('BRAAKWEREND GLAS AANBRENGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 300, 13 ,'m2', SUBSTR(INITCAP('GELUIDSWEREND GLAS AANBRENGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 300, 14 ,'m2', SUBSTR(INITCAP('SLAGWEREND GLAS AANBRENGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 6000, 15 ,' ', SUBSTR(INITCAP('ROLDEUR AANBRENGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 6000, 16 ,' ', SUBSTR(INITCAP('BRAAKWERENDE DEUR TYPE A AANBRENGEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 115, 17 ,' ', SUBSTR(INITCAP('GAASHEK HOOG MET PUNTDRAAD'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 110, 18 ,' ', SUBSTR(INITCAP('GAASHEK HOOG ZONDER PUNTDRAAD'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 20000, 19 ,' ', SUBSTR(INITCAP('ELEK. BED. ROLHEK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 8000, 20 ,' ', SUBSTR(INITCAP('ELEK. BED. KLAPHEK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 21 ,' ', SUBSTR(INITCAP('SLOT TYPE A'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 22 ,' ', SUBSTR(INITCAP('SLOT TYPE B'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 23 ,' ', SUBSTR(INITCAP('SLOT TYPE C'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 30000, 24 ,' ', SUBSTR(INITCAP('TOURNIQUET'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 50000, 25 ,' ', SUBSTR(INITCAP('TOURNIQUET MET FIETS'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 25000, 26 ,' ', SUBSTR(INITCAP('ELEK. BED. SLAGBOOM'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 1000, 27 ,' ', SUBSTR(INITCAP('LOOPHEK'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 80000, 28 ,' ', SUBSTR(INITCAP('HARMONICAPOORT'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 2500, 29 ,' ', SUBSTR(INITCAP('DRAAIHEK 1 VLEUGEL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 5000, 30 ,' ', SUBSTR(INITCAP('DRAAIHEK 2 VLEUGELS'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 3000, 31 ,' ', SUBSTR(INITCAP('VERKEERSLICHTEN R/G'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 150, 32 ,' ', SUBSTR(INITCAP('STREKMETAAL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 33 ,' ', SUBSTR(INITCAP('SANDWITCHPANEEL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 34 ,' ', SUBSTR(INITCAP('ROLKAMMEN'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', NULL, 35 ,' ', SUBSTR(INITCAP('SLOTKAST'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS';
/* Elektrotechniek delen */
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 15000, 1 , ' ', SUBSTR(INITCAP('VOERTUIGZUIL TYPE A'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 10000, 2 , ' ', SUBSTR(INITCAP('VOERTUIGZUIL TYPE B'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 1000, 3 , ' ', SUBSTR(INITCAP('SLUITLUS/OOG'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 100, 4 , ' ', SUBSTR(INITCAP('OPEN/DICHT SIGNALERING'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 0, 5 , ' ', SUBSTR(INITCAP('INLUISTERMICROFOON'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', NULL, 6 , ' ', SUBSTR(INITCAP('DOWNLOOK CAMERA'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 100, 7 , ' ', SUBSTR(INITCAP('SCHAKEL- OF CONTACTMAT.'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 9 , ' ', SUBSTR(INITCAP('GLASBREUKMELDER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 9000, 11, ' ', SUBSTR(INITCAP('VOETGANGERSZUIL TYPE A'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 5000, 12, ' ', SUBSTR(INITCAP('VOETGANGERSZUIL TYPE B'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 13, ' ', SUBSTR(INITCAP('ACTIEF INFRAROOD MELDER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 0, 14, ' ', SUBSTR(INITCAP('INFRAROOD ZUIL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 15, ' ', SUBSTR(INITCAP('TRILCONTACT'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 50, 16, 'mtr', SUBSTR(INITCAP('E-FLEXKABEL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 400, 18, ' ', SUBSTR(INITCAP('COMBIMELDER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 1000, 19, ' ', SUBSTR(INITCAP('SLUITLUS'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 5000, 20, ' ', SUBSTR(UPPER('CSSE'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 4000, 21, ' ', SUBSTR(INITCAP('KAARTLEZER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 5000, 22, ' ', SUBSTR(INITCAP('PINCODESLOT/KAARTLEES COMB.'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 2000, 23, ' ', SUBSTR(UPPER('CCTV'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 17000, 24, ' ', SUBSTR(INITCAP('VIDEOMOTION'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 6000, 25, ' ', SUBSTR(INITCAP('TIMELAPS RECORDER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 26, ' ', SUBSTR(INITCAP('OPTISCHE SIGNAALGEVER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 27, ' ', SUBSTR(INITCAP('SCHRIKVERLICHTING'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 1000, 29, ' ', SUBSTR(INITCAP('LICHTMAST'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 1500, 30, ' ', SUBSTR(INITCAP('INTERCOM'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 31, ' ', SUBSTR(INITCAP('AKOESTISCHE SIGNAALGEVER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 175, 32, 'mtr', SUBSTR(INITCAP('LEAKY COAX-KABEL'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 300, 33, 'mtr', SUBSTR(INITCAP('TAUT-WIRE'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 400, 34, ' ', SUBSTR(INITCAP('PIN-CODESLOT'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 35, ' ', SUBSTR(INITCAP('OPSLOTSIGNALERING'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 36, ' ', SUBSTR(INITCAP('SLEUTELSCHERPSTELSLOT'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 200, 37, ' ', SUBSTR(INITCAP('ELEK. SLOT/ONTGRENDELING'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving)
SELECT ins_srtgroep_key, 'INS', 500, 38, ' ', SUBSTR(INITCAP('GORDIJNMELDER'),1,30)
FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS';
UPDATE ins_srtdeel
SET ins_srtdeel_omschrijving=SUBSTR(REPLACE(ins_srtdeel_omschrijving,'<27>','1/2'),1,30),
ins_srtdeel_upper=SUBSTR(REPLACE(ins_srtdeel_upper,'<27>','1/2'),1,30);
#endif /* BEB */
/* de rest hieronder is nav BBS2.0.1.27 QA-test/KTH dd 21-04-97 */
DELETE FROM fac_entity_name
WHERE fac_entity_system_name IN ('CLOSE',
'SAVE',
'NEXT',
'CANCEL',
'PRINT',
'ALG_SYSTEEMCLUSTER',
'ALG_BOUWDEEL_OMSCHRIJVING');
INSERT INTO fac_entity_name VALUES('CLOSE', 'Sluiten',NULL, NULL);
INSERT INTO fac_entity_name VALUES('SAVE', 'Bewaren',NULL, NULL);
INSERT INTO fac_entity_name VALUES('NEXT', 'Volgende...',NULL, NULL);
INSERT INTO fac_entity_name VALUES('CANCEL', 'Annuleren',NULL, NULL);
INSERT INTO fac_entity_name VALUES('PRINT', 'Printen',NULL, NULL);
INSERT INTO fac_entity_name VALUES('ALG_SYSTEEMCLUSTER', 'Syst.cluster', 'Syst.clusters', 'het');
INSERT INTO fac_entity_name VALUES('ALG_BOUWDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de');
INSERT INTO fac_entity_name VALUES('PRINT_VORIGE', '<<',NULL, NULL);
INSERT INTO fac_entity_name VALUES('PRINT_VOLGENDE', '>>',NULL, NULL);
#ifdef BEB
DELETE FROM fac_entity_name
WHERE fac_entity_system_name IN ('ALG_DISTRICT_CODE');
INSERT INTO fac_entity_name VALUES('ALG_DISTRICT_CODE', 'Dienstkringcode', NULL, 'de');
DELETE FROM fac_message
WHERE fac_message_code IN ('ALG_M210',
'ALG_M204');
INSERT INTO fac_message VALUES('ALG_M210', 'Dienstkring is niet ingevuld.');
INSERT INTO fac_message VALUES('ALG_M204', 'Er zijn nog bouwlagen gekoppeld aan de verdiepingsoort.');
#endif
DELETE FROM fac_message
WHERE fac_message_code IN ('ALG_M170',
'ALG_M173',
'FAC_M005',
'FAC_M007');
INSERT INTO fac_message VALUES('ALG_M170', 'De omschrijving van het systeemcluster is niet ingevuld.');
INSERT INTO fac_message VALUES('ALG_M173', 'Het systeemcluster is niet ingevuld.');
INSERT INTO fac_message VALUES('INS_M138', 'Er is geen deel geselecteerd');
INSERT INTO fac_message VALUES('FAC_M007', 'Uitvoer Rapportage');
INSERT INTO fac_message VALUES('FAC_M005', 'Copyright (c) 1996-1997, Seki-Riesewijk B.V.');
COMMIT;
ALTER TABLE beb_categorie
ADD UNIQUE(beb_categorie_code);
DROP SEQUENCE beb_s_beb_categorie_key;
CREATE SEQUENCE beb_s_beb_categorie_key MINVALUE 1;
INSERT into beb_categorie (beb_categorie_code) VALUES ('OG');
INSERT into beb_categorie (beb_categorie_code) VALUES ('VG');
INSERT into beb_categorie (beb_categorie_code) VALUES ('BG1');
INSERT into beb_categorie (beb_categorie_code) VALUES ('BG2');
UPDATE fac_form
SET fac_form_context = 'INS_INS124',
fac_form_parameter = NULL
WHERE fac_form_name = 'INS124';
UPDATE fac_form
SET fac_form_parameter = NULL
WHERE fac_form_name = 'INS125';
UPDATE fac_form
SET fac_form_context = 'INS_INS213',
fac_form_parameter = NULL
WHERE fac_form_name = 'INS213';
UPDATE fac_form
SET fac_form_context = 'INS_INS214',
fac_form_parameter = NULL
WHERE fac_form_name = 'INS214';
COMMIT;
PROMPT Vergeet niet te committen!
SPOOL OFF

View File

@@ -1,84 +0,0 @@
SPOOL 127to128
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\127TO128.SQL]
--
-- Update script van Facilitor 2.0 versie 1.27 naar 1.28
--
-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
-- om #ifdef's te gebruiken voor de diverse modules.
--
-- Revisie:
--
-- 22-04-97 KTH Aangemaakt
--
-- LOG#.... Bugfixes lijst 970424.TXT en 970505.txt van KTH
#ifdef HUI
DELETE FROM fac_entity_name
WHERE fac_entity_system_name = 'INV_SRTDEEL';
DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het');
#endif
DELETE FROM fac_message
WHERE fac_message_code IN ('INV_M005', 'INV_M006', 'LEV_M026');
DEF_FAC_MESSAGE ('INV_M005', 'De omschrijving voor het artikeltype is niet ingevuld.');
DEF_FAC_MESSAGE ('INV_M006', 'Het artikeltype is niet ingevuld.');
DEF_FAC_MESSAGE ('LEV_M026', 'Er zijn geen leveringregels bij deze levering.');
-- 05-05-97 AH LEV_LEVERREGEL boekt niets op ALG_KOSTENPOST_BESTEED
-- In LEV_T_LEV_LEVERREGEL_B_IU aangepast.
CREATE OR REPLACE TRIGGER lev_t_lev_leverregel_B_IU
BEFORE INSERT OR UPDATE ON lev_leverregel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(lev_leverregel_key, lev_s_lev_leverregel_key);
/* Ver het veld ALG_KOSTENPOST_BESTEED bij met aantal_geleverd*Prijs.
* Wijzigen van een leverregel is eigenlijk niet mogelijk, maar toch
* gedeeltelijk aangepast.
* Hier wordt bij wijzigen geen rekening gehouden met :
* - Wijzigen van INS_SRTDEEL_KEY.
* - Wijzigen van de prijs van INS_SRTDEEL
*/
IF :old.lev_leverregel_aantal IS NULL
OR (:old.lev_leverregel_aantal <> :new.lev_leverregel_aantal)
THEN
DECLARE
Kostenpost NUMBER(10);
ExtraBesteed alg_kostenpost.alg_kostenpost_besteed%TYPE;
Prijs ins_srtdeel.inv_srtdeel_prijs%TYPE;
BEGIN
SELECT ALG_K.alg_kostenpost_key
INTO Kostenpost
FROM lev_bestelregel LEV_BR, lev_bestelling LEV_B,
alg_kostenpost ALG_K
WHERE LEV_BR.lev_bestelling_key = LEV_B.lev_bestelling_key
AND LEV_B.lev_alg_kostenpost_key = ALG_K.alg_kostenpost_key
AND LEV_BR.lev_bestelregel_key = :new.lev_bestelregel_key;
SELECT inv_srtdeel_prijs
INTO Prijs
FROM inv_v_aanwezigsrtdeel
WHERE ins_srtdeel_key = :new.lev_ins_srtdeel_key;
ExtraBesteed := (:new.lev_leverregel_aantal - NVL(:old.lev_leverregel_aantal,0))
* NVL(Prijs, 0);
UPDATE alg_kostenpost
SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) +
ExtraBesteed
WHERE alg_kostenpost_key = Kostenpost;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
END;
END IF;
END;
/
DEF_FAC_MESSAGE ('LEV_M072', 'Het bestelnummer is niet ingevuld.');
COMMIT;
PROMPT Vergeet niet te committen!
SPOOL OFF

View File

@@ -1,70 +0,0 @@
SPOOL 128to129
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\128TO129.SQL]
--
-- Update script van Facilitor 2.0 versie 1.28 naar 1.29
--
-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
-- om #ifdef's te gebruiken voor de diverse modules.
--
-- Revisie:
--
-- 11-07-97 AH Fouten in dit script gevonden door MvK, nl. LEV_M072 bestond al en
-- DROP UNIQUE(INV_SRDEEL_NR) mist een T UNIQUE(INV_SRTDEEL_NR).
-- 09-07-1997 AH #1362, LEV_M026 gewijzigd in dit script, was al in FAC_INI gebeurt.
-- 08-07-1997 AH #1352, LEV_M072 toegevoegd
-- 7/2/97 AH #1347, Teskt bij INV021 aangepast in 'Bruikleen inventaris'
-- 07-07-1997 AH #1339, LEV_M073 toegevoegd
-- 7/2/97 AH #1353: 'Overnachting' moet zijn 'Legering'
-- 7/2/97 AH #1347: INV_M047 aangepast in 'Bruikleen inventeris'
-- 7/1/97 AH #1345, UNIQUE op INV_SRTDEEL_NR verplaatst naar UNIQUE op INV_SRTDEEL_NR en INS_SRTDEEL_VERWIJDER.
-- 7/2/97 AH #1354, UNIQUE op PRS_LEVERANCIER_NR toegevoegd.
-- LOG#1347
UPDATE FAC_FORM
SET fac_form_opmerking = 'Bruikleen inventaris'
WHERE fac_form_name = 'INV021';
-- LOG#1353, #1347, #1362
DELETE FROM fac_message
WHERE fac_message_code IN ('INV_M047', 'HUI_M018',
'HUI_M020',
'HUI_M036',
'LEV_M026');
DELETE FROM fac_entity_name
WHERE fac_entity_system_name = 'HUI_OVERNACHTING';
INSERT INTO FAC_ENTITY_NAME VALUES('HUI_OVERNACHTING', 'Legering', 'Legeringen', 'de');
INSERT INTO FAC_MESSAGE VALUES('INV_M047', 'Bruikleen inventaris');
INSERT INTO FAC_MESSAGE VALUES('HUI_M018', 'De legering van ');
INSERT INTO FAC_MESSAGE VALUES('HUI_M020', 'Alleen actuele legeringen');
INSERT INTO FAC_MESSAGE VALUES('HUI_M036', 'Bruikleenbewijs legering');
INSERT INTO FAC_MESSAGE VALUES('LEV_M026', 'Er zijn geen leveringregels bij deze levering.');
-- LOG#1352
--INSERT INTO FAC_MESSAGE VALUES('LEV_M072', 'Het bestelnummer is niet ingevuld.');
-- LOG#1339
INSERT INTO FAC_MESSAGE VALUES('LEV_M073', 'De leverdatum ligt voor de huidige datum.');
-- LOG#1345
ALTER TABLE ins_srtdeel
DROP unique(INV_SRTDEEL_NR);
ALTER TABLE ins_srtdeel
ADD CONSTRAINT ins_c_ins_srtdeel_nr_unique UNIQUE(inv_srtdeel_nr, ins_srtdeel_verwijder);
-- LOG#1354
ALTER TABLE prs_bedrijf
ADD CONSTRAINT prs_c_prs_leverancier_unique UNIQUE(prs_leverancier_nr, prs_bedrijf_verwijder);
-- werk vervolgens het versienummer en de datum bij (van alle interne modules)
UPDATE fac_module
SET fac_module_version='01.29',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
COMMIT;
SPOOL OFF

View File

@@ -1,72 +0,0 @@
SPOOL 128to129
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\128TO129.SQL]
--
-- Update script van Facilitor 2.0 versie 1.28 naar 1.29
--
-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
-- om #ifdef's te gebruiken voor de diverse modules.
--
-- Revisie:
--
-- 01.28SD -> 01.29SD
-- 09-07-1997 AH #1362, LEV_M026 gewijzigd in dit script, was al in FAC_INI gebeurt.
-- 08-07-1997 AH #1352, LEV_M072 toegevoegd
-- 7/2/97 AH #1347, Tekst bij INV021 aangepast in 'Bruikleen inventaris'
-- 07-07-1997 AH #1339, LEV_M073 toegevoegd
-- 7/2/97 AH #1353: 'Overnachting' moet zijn 'Legering'
-- 7/2/97 AH #1347: INV_M047 aangepast in 'Bruikleen inventeris'
-- 7/1/97 AH #1345, UNIQUE op INV_SRTDEEL_NR verplaatst naar UNIQUE op INV_SRTDEEL_NR en INS_SRTDEEL_VERWIJDER.
-- 7/2/97 AH #1354, UNIQUE op PRS_LEVERANCIER_NR toegevoegd.
-- 06-05-97 KTH Aangemaakt
--
-- LOG#1347
UPDATE FAC_FORM
SET fac_form_opmerking = 'Bruikleen inventaris'
WHERE fac_form_name = 'INV021';
-- LOG#1353, #1347, #1362
DELETE FROM fac_message
WHERE fac_message_code IN ('INV_M047', 'HUI_M018',
'HUI_M020',
'HUI_M036',
'LEV_M026');
DELETE FROM fac_entity_name
WHERE fac_entity_system_name = 'HUI_OVERNACHTING';
INSERT INTO FAC_ENTITY_NAME VALUES('HUI_OVERNACHTING', 'Legering', 'Legeringen', 'de');
INSERT INTO FAC_MESSAGE VALUES('INV_M047', 'Bruikleen inventaris');
INSERT INTO FAC_MESSAGE VALUES('HUI_M018', 'De legering van ');
INSERT INTO FAC_MESSAGE VALUES('HUI_M020', 'Alleen actuele legeringen');
INSERT INTO FAC_MESSAGE VALUES('HUI_M036', 'Bruikleenbewijs legering');
INSERT INTO FAC_MESSAGE VALUES('LEV_M026', 'Er zijn geen leveringregels bij deze levering.');
-- LOG#1352,1380
--INSERT INTO FAC_MESSAGE VALUES('LEV_M072', 'Het bestelnummer is niet ingevuld.');
-- LOG#1339
INSERT INTO FAC_MESSAGE VALUES('LEV_M073', 'De leverdatum ligt voor de huidige datum.');
-- LOG#1345,1380
ALTER TABLE ins_srtdeel
DROP unique(INV_SRTDEEL_NR);
ALTER TABLE ins_srtdeel
ADD CONSTRAINT ins_c_ins_srtdeel_nr_unique UNIQUE(inv_srtdeel_nr, ins_srtdeel_verwijder);
-- LOG#1354
ALTER TABLE prs_bedrijf
ADD CONSTRAINT prs_c_prs_leverancier_unique UNIQUE(prs_leverancier_nr, prs_bedrijf_verwijder);
-- werk vervolgens het versienummer en de datum bij (van alle interne modules)
UPDATE fac_module
SET fac_module_version='01.29',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
-- LOG#...
PROMPT Vergeet niet te committen!
SPOOL OFF

File diff suppressed because it is too large Load Diff

View File

@@ -1,271 +0,0 @@
set echo on
SPOOL 130to131
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\130TO131.SQL]
--
-- Update script van Facilitor 2.0 versie 1.30 naar 1.31
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* dd-mm-yy xxx LOG#yyyy:
*
* 31-07-97 AH Initiele waardes voor SCH_SRTVLOER toegevoegd
* 29-07-97 AH LOG#1400, ALG_IMPORT_RUIMTENR nu 10 ipv 6
* 28-07-97 AH IMPORT_SRTVLOER: In ALG_IMPORT-table moet ALG_IMPORT_VLOER-kolom toegevoegd
* worden
* 24-07-97 AH #1422, MLD_MELDING krijgt redundant veld MLD_ALG_LOCATIE_KEY
* 23-07-97 AH #1415: In MLD_T_MLD_OPDR_B_IU mag ALG_KOSTENPOST niet gewijzigd worden, MUTATING-table
* enz... Dus is het gedeelte maar verplaatst naar MLD117/Verwerken.
* 23-07-97 AH #1411, sch_m027 aangepast
* 23-07-97 AH #1407, SCH_M035, M036, M037 aangepast
* 23-07-97 AH #1405: SCH_ACTIVITEIT_PPM, .._SHORT en SCH_ACTIVITEIT_PPR, .._SHORT toegevoegd
* SCH_V_WERKZAAMHEDEN_GEGEVENS aangepast, sch_activiteit_volgnr toegevoegd
* 22-07-97 AH #1401: Grootte SCH_FREQUENTIE_CODE aangepast
* --- 01.30 ---
*/
#include "..\modules.h"
#include "..\comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.30 naar 01.31
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.30 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* LOG#1401 , Doe de update via een tussentabel */
CREATE TABLE tmp_frequentie AS
SELECT * from sch_frequentie;
ALTER TABLE sch_frequentie
MODIFY
(
sch_frequentie_code
NULL
);
ALTER TABLE sch_frequentie
DROP CONSTRAINT sch_c_sch_frequentie_unique;
UPDATE sch_frequentie
SET sch_frequentie_code = NULL;
ALTER TABLE sch_frequentie
MODIFY
(
sch_frequentie_code
VARCHAR2(3)
);
UPDATE sch_frequentie SCH_F
SET SCH_F.sch_frequentie_code = (SELECT substr(TMP_F.sch_frequentie_code, 1, 3)
FROM tmp_frequentie TMP_F
WHERE TMP_F.sch_frequentie_key = SCH_F.sch_frequentie_key);
ALTER TABLE sch_frequentie
MODIFY
(
sch_frequentie_code
NOT NULL
);
ALTER TABLE sch_frequentie
ADD CONSTRAINT sch_c_sch_frequentie_unique UNIQUE(sch_frequentie_code);
DROP TABLE tmp_frequentie;
COMMIT;
/* LOG#1405 */
INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPM_SHORT','m2',NULL,NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPR_SHORT','ruimte',NULL,NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPM','per m2',NULL,NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPR','per ruimte',NULL,NULL);
DELETE FROM FAC_MESSAGE
WHERE FAC_MESSAGE_CODE = 'SCH_PPM';
INSERT INTO FAC_MESSAGE VALUES('SCH_PPM','Prijs per m2');
CREATE OR REPLACE VIEW sch_v_werkzaamheden_gegevens
(sch_werkzaamheden_key,
sch_werkzaamheden_kosten,
sch_activiteit_code,
sch_activiteit_prijsprofiel,
sch_activiteit_volgnr,
sch_nivo_key,
sch_nivo_omschrijving,
alg_srtruimte_key,
alg_srtruimte_omschrijving,
alg_srtruimte_upper,
sch_srtvloer_key,
sch_srtvloer_omschrijving,
sch_srtvloer_upper,
sch_frequentie_key,
sch_frequentie_code) AS
SELECT SCH_W.sch_werkzaamheden_key,
SCH_W.sch_werkzaamheden_kosten,
SCH_A.sch_activiteit_code,
SCH_A.sch_activiteit_prijsprofiel,
SCH_A.sch_activiteit_volgnr,
SCH_N.sch_nivo_key,
SCH_N.sch_nivo_omschrijving,
SCH_W.sch_alg_srtruimte_key,
ALG_SR.alg_srtruimte_omschrijving,
ALG_SR.alg_srtruimte_upper,
SCH_W.sch_srtvloer_key,
SCH_SV.sch_srtvloer_omschrijving,
SCH_SV.sch_srtvloer_upper,
SCH_W.sch_frequentie_key,
SCH_F.sch_frequentie_code
FROM sch_werkzaamheden SCH_W, sch_activiteit SCH_A, sch_nivo SCH_N,
sch_v_aanwezigsrtvloer SCH_SV, alg_v_aanwezigsrtruimte ALG_SR,
sch_frequentie SCH_F
WHERE SCH_W.sch_activiteit_key = SCH_A.sch_activiteit_key
AND SCH_W.sch_nivo_key = SCH_N.sch_nivo_key
AND SCH_W.sch_frequentie_key = SCH_F.sch_frequentie_key
AND SCH_W.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+)
AND SCH_W.sch_alg_srtruimte_key = ALG_SR.alg_srtruimte_key (+);
/* LOG#1407 */
DELETE FROM FAC_MESSAGE
WHERE FAC_MESSAGE_CODE IN ('SCH_M035','SCH_M036','SCH_M037');
INSERT INTO FAC_MESSAGE VALUES('SCH_M035','De geselecteerde schoonmaakniveau''s verwijderen?');
INSERT INTO FAC_MESSAGE VALUES('SCH_M036','Er zijn geen schoonmaakniveau''s geselecteerd');
INSERT INTO FAC_MESSAGE VALUES('SCH_M037','De geselecteerde werkzaamheden verwijderen?');
/* LOG#1411 */
DELETE FROM FAC_MESSAGE
WHERE FAC_MESSAGE_CODE IN ('SCH_M027');
INSERT INTO FAC_MESSAGE VALUES('SCH_M027','Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.');
/* LOG#1415 */
CREATE OR REPLACE TRIGGER mld_t_mld_opdr_B_IU
BEFORE INSERT OR UPDATE ON mld_opdr
FOR EACH ROW
BEGIN
IF :new.mld_opdr_key IS NULL THEN SELECT mld_s_mld_opdr_key.nextval INTO :new.mld_opdr_key FROM DUAL; END IF;
DECLARE dummy CHAR; BEGIN IF :new.mld_uitvoerende_keys IS NOT NULL THEN SELECT 'X' INTO dummy FROM mld_v_uitvoerende WHERE key = :new.mld_uitvoerende_keys; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000, 'ins_m22'); END;
END;
/
/* LOG#1422 voeg nieuwe column toe aan tabel mld_melding
* (deze wordt verderop nog NOT NULL)
*/
ALTER TABLE mld_melding
ADD
(
mld_alg_locatie_key
NUMBER(10)
REFERENCES alg_locatie(alg_locatie_key)
);
/* vul de nieuwe column voor alle reeds bestaande meldingen mbt
* gebouwen, verdiepingen en ruimtes
*/
UPDATE mld_melding
SET mld_alg_locatie_key = (SELECT alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = mld_alg_onroerendgoed_keys);
/* zet tenslotte de NOT NULL constraint op de column */
ALTER TABLE mld_melding
MODIFY
(
mld_alg_locatie_key
NOT NULL
);
CREATE OR REPLACE TRIGGER mld_t_mld_melding_B_IU
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
IF :new.mld_melding_key IS NULL THEN SELECT mld_s_mld_melding_key.nextval INTO :new.mld_melding_key FROM DUAL; END IF;
DECLARE dummy CHAR; BEGIN SELECT 'X' INTO dummy FROM alg_v_aanweziggebouw WHERE alg_gebouw_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigverdieping WHERE alg_verdieping_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigruimte WHERE alg_ruimte_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigterreinsector WHERE alg_terreinsector_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000,'alg_m090'); END; END; END; END;
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
END;
/
/* IMPORT_SRTVLOER */
ALTER TABLE alg_import
ADD
(
alg_import_vloer
VARCHAR2(30)
);
/* LOG#1400 */
alter table alg_import
modify (alg_import_ruimtenr varchar2(10));
/* Initiele waardes voor SCH_SRTVLOER */
#ifdef SCH
#ifdef DATA
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Beton');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Natuursteen');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels,glad');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels,ruw');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Parket');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Linoleum');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Siergrind');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Tapijt');
#endif // DATA
#endif // SCH
/* LOG#... */
/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */
UPDATE fac_module
SET fac_module_version='01.31',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
COMMIT;
SPOOL OFF

View File

@@ -1,558 +0,0 @@
set echo on
SPOOL 131to132
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\131TO132.SQL]
--
-- Update script van Facilitor 2.0 versie 1.31 naar 1.32
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* dd-mm-yy xxx LOG#yyyy:
*
* --- 01.32 ---
* 20-08-97 KTH LOG#1433: default vloersoorten cf CONTOUR.INI van Dijkoraad
* LOG#1434: default ruimtesoorten tbv IBG
* --- 01.31 ---
*/
#include "..\modules.h"
#include "..\comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.31 naar 01.32
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.31 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* LOG#1433: initiele waardes voor SCH_SRTVLOER aanpassen */
#ifdef SCH
#ifdef DATA
/* verwijder eerst de reeds aanwezige vloersoorten... */
DELETE FROM sch_srtvloer;
/* ...en maak de juiste vloersoorten opnieuw aan */
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Beton');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Computervloer');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Linoleum');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Natuursteen');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Parket');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Siergrind');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Tapijt');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, glad');
INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, ruw');
COMMIT;
#endif // DATA
#endif // SCH
#ifdef ALG
#ifdef DATA
#ifdef IBG
/* 20-08-97/KTH LOG#1434: Voor IBG de Ruimtesoorten voordefinieren */
DELETE FROM alg_srtruimte;
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Accuruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Aircoruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Archiefruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging rijwielen/bromfietsen');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Bibliotheek');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Brandslanghaspelkast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Buffet');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('BZB-ruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('CV-ruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Computerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Concierge');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Containerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Couverteerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Filterruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang/portaal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Garderobe');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hydrofoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Input');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Installatieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Instructieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantine');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ketelhuis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Keuken');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kluis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koekoek');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koelmachineruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koeltoren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Laagspanningsruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Leidingen');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lift');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Liftmachinekamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lorrie');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Luchtbehandelingsruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Magazijn');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast elektra');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast gas');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast ptt');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Noodstroomaggregaat');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onbekend');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderhoud');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderzoekruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Operatorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Opslagruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Output');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Patio');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Pauzeruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portaal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portier');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Postkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Printerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Provisieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Rekencentrum');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Reproruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schacht');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schakelruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Snijkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spoelkeuken');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spreekkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Tekenruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Technischeruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet invaliden');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Urinoir');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Traforuimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Trappenhuis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Uitgifte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ventilatorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vergaderruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Verkeersruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vouwruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Wachtruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Werkkast');
COMMIT;
#endif // IBG
#endif // DATA
#endif // ALG
#ifdef ATT
/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel,
* creeer daarom de procedure INS_P_INS_CHECK_ATTRIBUTE (evt opnieuw)
*/
CREATE OR REPLACE PROCEDURE INS_P_INS_CHECK_ATTRIBUTE(FacKolom IN CHAR,
SrtdeelKey IN NUMBER,
AttributeKey IN NUMBER) AS
AttributeType ins_attribute.ins_attribute_type%TYPE;
FormatMask VARCHAR2(100);
MaxLengte ins_attribute.ins_attribute_length%TYPE;
WareLengte NUMBER(10);
Verplicht ins_attribute.ins_attribute_required%TYPE;
MinWaarde ins_attribute.ins_attribute_min%TYPE;
MaxWaarde ins_attribute.ins_attribute_max%TYPE;
DecWaarde ins_attribute.ins_attribute_dec%TYPE;
WareWaarde NUMBER(10);
CharWaarde VARCHAR2(50);
BEGIN
BEGIN
SELECT ins_attribute_type,
ins_attribute_length,
ins_attribute_required,
ins_attribute_min,
ins_attribute_max,
ins_attribute_dec
INTO AttributeType,
MaxLengte,
Verplicht,
MinWaarde,
MaxWaarde,
DecWaarde
FROM ins_v_attribute_gegevens
WHERE ins_srtdeel_key = SrtdeelKey
AND ins_attribute_key = AttributeKey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN;
END;
IF FacKolom IS NULL
THEN
IF Verplicht = 1
THEN
raise_application_error(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m008');
ELSE
RETURN;
END IF;
END IF;
IF AttributeType = 'N'
THEN
BEGIN
WareWaarde := TO_NUMBER(FacKolom);
IF WareWaarde < MinWaarde OR WareWaarde > MaxWaarde
THEN
raise_application_error(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m009');
ELSE
IF NVL(DecWaarde, 0) = 0
THEN
FormatMask := RPAD('9', MaxLengte, '9');
ELSE
FormatMask := RPAD('9', MaxLengte - DecWaarde, '9')||
'D'||RPAD('9', DecWaarde, '9');
END IF;
CharWaarde := LTRIM(TO_CHAR(WareWaarde, FormatMask));
IF INSTR(CharWaarde, '#') <> 0
THEN
raise_application_error(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m010');
END IF;
END IF;
EXCEPTION
WHEN others
THEN
raise_application_error(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m010');
END;
ELSIF AttributeType = 'C'
THEN
WareLengte := LENGTH(FacKolom);
IF NVL(WareLengte, 0) > NVL(MaxLengte, 0)
THEN
raise_application_error(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m011');
END IF;
END IF;
END;
/
#endif // ATT
#ifdef INS
/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel
* maak daarom de trigger opnieuw aan incl het ATT-deel
*/
CREATE OR REPLACE TRIGGER ins_t_ins_deel_B_IU
BEFORE INSERT OR UPDATE ON ins_deel
FOR EACH ROW
BEGIN
LOG('Begin INS_T_INS_DEEL_B_IU');
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper);
SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder,
ins_onderdeel_verwijder);
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte, verdieping, gebouw of terreinsector.
* Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
* (met 'R' of 'V' of 'G' of 'T').
* Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
* nieuw record geinsert wordt.
*
*
* IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar
* als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek
* gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed
* ingevuld zijn (met 'R' of 'W').
*
* IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar
* INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden.
* INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het
* veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A').
* AH 05-06-96 Nu kunnen biede velden ingevuld zijn.
*/
IF :new.ins_deel_module = 'INS'
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m092');
ELSIF :new.ins_alg_ruimte_type = 'V'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key,
:new.ins_alg_ruimte_key, 'ins_m093');
ELSIF :new.ins_alg_ruimte_type = 'G'
THEN
CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key,
:new.ins_alg_ruimte_key, 'ins_m094');
ELSIF :new.ins_alg_ruimte_type = 'T'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key,
:new.ins_alg_ruimte_key, 'ins_m095');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
IF NOT :old.ins_alg_ruimte_key IS NULL
THEN
/* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het
* deel neit verplaatst worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM ins_v_aanwezigonderdeel INS_O
WHERE INS_O.ins_deel_key = :new.ins_deel_key
AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL;
APPLICATION_ERROR(-20000, 'ins_m100');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'ins_m100');
END;
/*
UPDATE ins_onderdeel
SET ins_alg_onroerendgoed_key = NULL
WHERE ins_deel_key = :new.ins_deel_key;
*/
END IF;
#ifdef INV
ELSIF :new.ins_deel_module = 'INV'
AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key
OR :old.ins_prs_bezit_key IS NULL))
THEN
// IF :new.ins_alg_ruimte_key IS NOT NULL
// AND :new.ins_prs_bezit_key IS NOT NULL
// THEN
// APPLICATION_ERROR(-20000, 'ins_m85');
IF :new.ins_alg_ruimte_key IS NOT NULL
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m88');
ELSIF :new.ins_alg_ruimte_type = 'W'
THEN
CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key,
:new.ins_alg_ruimte_key, 'ins_m88');
// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk
// ELSIF :new.ins_alg_ruimte_type = 'L'
// THEN
// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key,
// :new.ins_alg_ruimte_key, 'ins_m88');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
END IF;
IF :new.ins_prs_bezit_key IS NOT NULL
THEN
IF :new.ins_prs_bezit_type = 'P'
THEN
CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSIF :new.ins_prs_bezit_type = 'A'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSE
APPLICATION_ERROR(-20000, 'ins_m86');
END IF;
END IF;
#endif
END IF;
#ifdef INV
/* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld,
* ontkoppeld of verplaatst wordt van een ruimte of een werkplek,
* dan is de bijbehorende verdieping-tekening niet meer up to date en
* moet dus het INV_DWGUPTODATE-veld gezet worden.
*
* Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd,
* moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft
* het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden.
*/
IF :new.ins_deel_module = 'INV'
THEN
/* Verwijderen */
IF :new.ins_deel_verwijder IS NOT NULL
/* Koppelen */
OR (:old.ins_alg_ruimte_key IS NULL
AND :new.ins_alg_ruimte_key IS NOT NULL)
/* Ontkoppelen */
OR (:old.ins_alg_ruimte_key IS NOT NULL
AND :new.ins_alg_ruimte_key IS NULL)
/* Verplaatsen */
OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key)
/* Van INS_SRTDEEL veranderen.
* ACADSYMBOL is hierin nog niet verwerkt.
*/
OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key)
THEN
/* Voor de oude INS_ALG_RUIMTE_KEY */
IF :old.ins_alg_ruimte_type = 'R'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :old.ins_alg_ruimte_type = 'W'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
/* Voor de nieuwe INS_ALG_RUIMTE_KEY*/
IF :new.ins_alg_ruimte_type = 'R'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :new.ins_alg_ruimte_type = 'W'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
END IF;
END IF;
#endif // INV
#ifdef ATT
/* Gedeelte t.b.v. eventuele attributen */
DECLARE
nAttribs NUMBER(10);
BEGIN
/* Controleer eerst of er uberhaupt attributen zijn
* bij dit Srtdeel.
*/
SELECT count(*)
INTO nAttribs
FROM ins_v_attribute_gegevens
WHERE ins_srtdeel_key = :new.ins_srtdeel_key;
/* Attributen aanwezig
*/
IF nAttribs <> 0
THEN
CHECK_ATTRIBUTE(fac0, 0);
CHECK_ATTRIBUTE(fac1, 1);
CHECK_ATTRIBUTE(fac2, 2);
CHECK_ATTRIBUTE(fac3, 3);
CHECK_ATTRIBUTE(fac4, 4);
CHECK_ATTRIBUTE(fac5, 5);
CHECK_ATTRIBUTE(fac6, 6);
CHECK_ATTRIBUTE(fac7, 7);
CHECK_ATTRIBUTE(fac8, 8);
CHECK_ATTRIBUTE(fac9, 9);
#if 0 // Oude situatie maakt een te grote trigger aan.
IF (:old.fac0 <> :new.fac0)
OR (:old.fac0 IS NOT NULL AND :new.fac0 IS NULL)
OR (:old.fac0 IS NULL AND :new.fac0 IS NOT NULL)
THEN
INS_P_INS_CHECK_ATTRIBUTE(:new.fac0, :new.ins_srtdeel_key, 0);
END IF;
IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF;
IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF;
IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF;
IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF;
IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF;
IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF;
IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF;
IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF;
IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF;
#endif // 0
END IF;
END;
#endif // ATT
LOG('Eind INS_T_INS_DEEL_B_IU');
END;
/
#endif // INS
#ifdef ATT
/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel,
* vul daarom de waarden in fac_form en fac_module aan
*/
INSERT INTO fac_form VALUES( NULL , NULL, NULL ,'120000','ATT_MODULE','Attributen Module');
INSERT INTO fac_form VALUES('ATT011', NULL, 'MODULE','120110','INS_ATT011','Overzichtscherm Attributen (INS)');
INSERT INTO fac_form VALUES('ATT111', NULL, 'MODULE','121110','INS_ATT111','Mutatiescherm Attributen (INS)');
INSERT INTO fac_module VALUES ('ATT','01.32',TO_CHAR(SYSDATE,'YYYYMMDD'),'Attributen');
#endif // ATT
/* LOG#... */
/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */
UPDATE fac_module
SET fac_module_version='01.32',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
COMMIT;
SPOOL OFF

View File

@@ -1,94 +0,0 @@
set echo on
SPOOL 132to133
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\132TO133.SQL]
--
-- Update script van Facilitor 2.0 versie 1.32 naar 1.33
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* dd-mm-yy xxx LOG#yyyy:
*
* 08-09-97 AH ATT_CHAR, ATT_NUMBER en ATT_REFERENCE toegevoegd voor MAN.
* 02-09-97 AH #1449, INS_INS115 kanweg als ATT-module is geinstalleerd. INS_INS126 wordt dan
* gebruikt.
* 01-09-97 AH #1454, INS_SRTDEEL_ACADSYMBOL moet met de UPPER gevuld worden.
* --- 01.32 ---
*/
#include "..\modules.h"
#include "..\comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.32 naar 01.33
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.32 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* denk aan #ifdef constructies! */
#ifdef INS
/* LOG#1454 */
UPDATE ins_srtdeel
SET ins_srtdeel_acadsymbol = UPPER(ins_srtdeel_acadsymbol);
#endif
#ifdef ATT
/* LOG#1449 */
DELETE FROM fac_form
WHERE fac_form_name = 'INS115';
#endif
/* LOG#... */
INSERT INTO FAC_ENTITY_NAME VALUES('ATT_CHAR','Karakter','Karakters', 'de');
INSERT INTO FAC_ENTITY_NAME VALUES('ATT_NUMBER','Numeriek',NULL, NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('ATT_REFERENCE','Referentie','Referenties', 'de');
/* LOG#... */
/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */
UPDATE fac_module
SET fac_module_version='01.33',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
COMMIT;
SPOOL OFF

View File

@@ -1,913 +0,0 @@
set echo on
SPOOL 136to137
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\136TO137.SQL]
--
-- Update script van Facilitor 2.0 versie 1.36 naar 1.37
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* dd-mm-yy xxx LOG#yyyy:
*
* --- 01.37 ---
* 22-05-1998 KTH LOG#1821: Nieuwe CAD-zaken toegevoegd
* 15-05-1998 KTH - LOG#983: FAC_M025 toegevoegd tbv het tonen van USERNAME in FAC012
* - LOG#1691: DEFAULT 1 gedefinieerd voor PRS_BEDRIJF_UITVOERENDE
* - LOG#1594: INS_M013 hergeformuleerd
* - LOG#1717: FAC_MESSAGE 'MENU_MLD_HERKTEKST' toegevoegd
* --- 01.36 ---
*/
/*
#include "..\modules.h"
#include "..\comsql.h"
*/
#include "modules.h"
#include "comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.36 naar 01.37
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.36 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* denk aan #ifdef constructies! */
/* PLAATS HIERTUSSEN DE UPDATES */
#ifdef AKZ //13-05-1998 BIV
CREATE_TABLE(alg_srtvloer,BIBLIOTHEEK_PRIVILEGE)
(
alg_srtvloer_key
NUMBER(10)
CONSTRAINT alg_k_alg_srtvloer_key PRIMARY KEY,
alg_srtvloer_omschrijving
VARCHAR2(30)
NOT_NULL(alg_srtvloer_omschrijving, alg_c_alg_srtvloer_omschr),
alg_srtvloer_upper
VARCHAR2(30)
NOT_NULL(alg_srtvloer_upper, alg_c_alg_srtvloer_upper),
alg_srtvloer_aanmaak
DATE
DEFAULT SYSDATE,
alg_srtvloer_verwijder
DATE
DEFAULT NULL,
CONSTRAINT alg_u_alg_srtvloer_upper UNIQUE(alg_srtvloer_upper, alg_srtvloer_verwijder)
);
CREATE_TABLE(akz_schnivo,BIBLIOTHEEK_PRIVILEGE)
(
akz_schnivo_key
NUMBER(10)
CONSTRAINT akz_k_akz_schnivo_key PRIMARY KEY,
akz_schnivo_code
VARCHAR2(10)
NOT_NULL(akz_schnivo_code, akz_c_akz_schnivo_code),
akz_schnivo_upper
VARCHAR2(10)
NOT_NULL(akz_schnivo_upper, akz_c_akz_schnivo_upper),
akz_schnivo_omschrijving
VARCHAR2(30)
NOT_NULL(akz_schnivo_omschrijving, akz_c_akz_schnivo_omschr),
akz_schnivo_document
VARCHAR2(256),
akz_schnivo_kengetal
NUMBER(8,2)
CONSTRAINT akz_c_akz_schnivo_kengetal CHECK(akz_schnivo_kengetal > 0),
akz_schnivo_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT alg_c_alg_schnivo_aanmaak NOT NULL,
akz_schnivo_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT akz_u_akz_schnivo_upper UNIQUE (akz_schnivo_upper, akz_schnivo_verwijder)
);
ALTER TABLE alg_ruimte
ADD
(
akz_schnivo_key
NUMBER(10)
CONSTRAINT alg_r_akz_schnivo_key REFERENCES akz_schnivo(akz_schnivo_key),
alg_srtvloer_key
NUMBER(10)
CONSTRAINT alg_r_alg_srtvloer_key REFERENCES alg_srtvloer(alg_srtvloer_key)
);
DEFINIEER_VIEW_AANWEZIG(alg_srtvloer, alg_srtvloer_verwijder,
alg_v_aanwezigsrtvloer,NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder,
alg_v_aanwezigruimte,NORMAAL_PRIVILEGE);
CREATE SEQUENCE alg_s_alg_srtvloer_key MINVALUE 1;
CREATE_TRIGGER(alg_t_alg_srtvloer_B_IU)
BEFORE INSERT OR UPDATE ON alg_srtvloer
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(alg_srtvloer_key, alg_s_alg_srtvloer_key);
UPDATE_UPPER(alg_srtvloer_omschrijving, alg_srtvloer_upper);
CHECK_NOG_REFERENCES(alg_srtvloer, alg_srtvloer_verwijder, alg_v_aanwezigruimte,
alg_srtvloer_key, 'alg_m220');
END;
/
DEFINIEER_VIEW_AANWEZIG(akz_schnivo, akz_schnivo_verwijder,
akz_v_aanwezigschnivo,BIBLIOTHEEK_PRIVILEGE);
CREATE SEQUENCE akz_s_akz_schnivo_key MINVALUE 1;
CREATE_TRIGGER(akz_t_akz_schnivo_B_IU)
BEFORE INSERT OR UPDATE ON akz_schnivo
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(akz_schnivo_key, akz_s_akz_schnivo_key);
UPDATE_UPPER(akz_schnivo_code, akz_schnivo_upper);
CHECK_NOG_REFERENCES(akz_schnivo, akz_schnivo_verwijder,
akz_v_aanwezigruimte, akz_schnivo_key, 'akz_m013');
END;
/
CREATE_VIEW(mld_v_mld_openmelding,NORMAAL_PRIVILEGE) (mld_melding_module,
mld_melding_key,
mld_ins_discipline_key,
mld_ins_srtinst_keys,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_melder_naam,
mld_meldbron_key,
mld_oorzaak_key,
mld_stdmelding_key,
mld_melding_ingezien,
mld_melding_afgewezen,
mld_melding_geaccepteerd,
mld_melding_afgemeld,
mld_melding_verwerkt,
mld_statussoort ) AS
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'INGEVOERD'
FROM mld_melding MLD_M
WHERE mld_melding_ingezien IS NULL
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'INGEZIEN'
FROM mld_melding MLD_M
WHERE MLD_M.mld_melding_ingezien IS NOT NULL
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'OVERSCHREDEN'
FROM mld_melding MLD_M,
mld_stdmelding MLD_SM
WHERE MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_SM.mld_stdmelding_urgentie,
'UREN')
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'TE_LAAT'
FROM mld_melding MLD_M
WHERE MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
'DAGEN')
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'AFGEWEZEN'
FROM mld_melding MLD_M
WHERE MLD_M.mld_melding_afgewezen IS NOT NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'GEACCEPTEERD'
FROM mld_melding MLD_M
WHERE MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'OPEN'
FROM mld_melding MLD_M,
mld_opdr MLD_O
WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+)
AND (MLD_O.mld_statusopdr_key IN
(SELECT mld_statusopdr_key
FROM mld_statusopdr MLD_S
WHERE MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN' OR
MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' OR
MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD') OR
MLD_O.mld_statusopdr_key IS NULL)
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'AFGEMELD'
FROM mld_melding MLD_M
WHERE (EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD')
OR (MLD_M.mld_melding_afgemeld IS NOT NULL
AND MLD_M.mld_melding_verwerkt IS NULL)
)
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'VERWERKT'
FROM mld_melding MLD_M
WHERE ((EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT')
AND NOT EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper NOT LIKE '%VERWERKT')
)
OR MLD_M.mld_melding_verwerkt IS NOT NULL
)
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
UNION
SELECT DISTINCT MLD_M.mld_melding_module,
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt,
'ALL'
FROM mld_melding MLD_M,
mld_opdr MLD_O
WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+)
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
AND (EXISTS (SELECT fac_gebruiker_kolomkey
FROM fac_gebruiker
WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key)
OR EXISTS (SELECT FAC_F.fac_functie_key
FROM fac_functie FAC_F, fac_gebruiker FAC_G
WHERE FAC_F.fac_functie_code ='MLD_INVOER'
AND FAC_F.fac_functie_key = FAC_G.fac_functie_key))
);
/* Log #1771 : Veldlengte afdelingsnaam + bijbehorende veld upper vergroot naar 10 posities */
ALTER TABLE prs_afdeling
MODIFY
(
prs_afdeling_naam
VARCHAR2(10),
prs_afdeling_upper
VARCHAR2(10)
);
/* 22-05-1998 BIV Log#1770 : View MLD_V_MLD_OPENOPDR_GEGEVENS uitgebreidt met veld MLD_OPDR_BEDRIJFOPDR_VOLGNR */
CREATE_VIEW(mld_v_mld_openopdr_gegevens,NORMAAL_PRIVILEGE) ( mld_opdr_module,
mld_opdr_key,
mld_melding_key,
mld_statusopdr_key,
mld_statusopdr_omschrijving,
mld_opdr_datumbegin,
mld_opdr_datumuitgevoerd,
mld_opdr_dagen,
mld_alg_onroerendgoed_keys,
mld_uitvoerende_keys,
mld_opdr_contactpersoon,
mld_opdr_geprint,
mld_statussoort,
mld_opdr_bedrijfopdr_volgnr) AS
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'OPEN',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD'
OR MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD')
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'ALL',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'INGEVOERD',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD'
OR MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN')
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'AFGEMELD',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD'
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
)
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'VERWERKT',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT'
AND (MLD_M.mld_ins_srtinst_keys IS NULL
OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys
FROM ins_v_srtinst)
);
/* Log#1799 - Een TV-verklaarde melding printen levert een melding op dat de melding niet opnieuw
* TV-verklaard kan worden.
*/
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
/* Vul de username in van de huidige gebruiker. */
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
/* Controleer of de velden GEACCEPTEERD en AFGEWEZEN niet beide ingevuld zijn. */
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
APPLICATION_ERROR(-20000, 'mld_m175');
END IF;
/* Controleer of de velden AFGEMELD en VERWERKT gevuld zijn, er mogen dan geen
* opdrachten van deze melding bestaan.
*/
IF :new.mld_melding_verwerkt IS NOT NULL
THEN
/* Alleen geaccepteerde of afgemelde meldingen mogen verwerkt worden */
IF :old.mld_melding_geaccepteerd IS NULL
AND :old.mld_melding_afgemeld IS NULL
THEN
APPLICATION_ERROR(-20000, 'mld_m203');
/* Verwerkte meldingen mogen niet nogmaals verwerkt worden */
ELSIF :old.mld_melding_verwerkt IS NOT NULL
THEN
APPLICATION_ERROR(-20000, 'mld_m196');
ELSE
/* Meldingen mogen alleen verwerkt worden als de bijbehorende opdrachten
* verwerkt zijn.
*/
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper LIKE '%INGEVOERD%'
OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%'
OR MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD%')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
APPLICATION_ERROR(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL
THEN
/* Alleen geaccepteerde meldingen mogen afgemeld worden */
IF :old.mld_melding_geaccepteerd IS NULL
THEN
APPLICATION_ERROR(-20000, 'mld_m202');
/* Afgemelde meldingen mogen niet nogmaals afgemeld worden */
ELSIF :old.mld_melding_afgemeld IS NOT NULL
AND (:old.mld_melding_afgemeld <> :new.mld_melding_afgemeld)
THEN
APPLICATION_ERROR(-20000, 'mld_m194');
/* Verwerkte meldingen mogen niet (nogmaals) afgemeld worden */
ELSIF :old.mld_melding_verwerkt IS NOT NULL
THEN
APPLICATION_ERROR(-20000, 'mld_m195');
ELSIF :old.mld_melding_afgemeld <> :new.mld_melding_afgemeld
THEN
/* Meldingen mogen alleen afgemeld worden als de bijbehorende opdrachten
* afgemeld of verwerkt zijn.
*/
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper LIKE '%INGEVOERD%'
OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
APPLICATION_ERROR(-20000, 'mld_m191');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'mld_m191');
END;
END IF;
END IF;
/* Vul het veld UITVOERTIJD2 in als deze leeg is */
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
END;
/
/* ALG */
DEF_FAC_ENTITY ('ALG_SRTVLOER','Vloersoort','Vloersoorten','de');
DEF_FAC_ENTITY ('ALG_SRTVLOER_OMSCHRIJVING','Omschrijving','Omschrijvingen','de');
DEF_FAC_MESSAGE ('ALG_M220', 'Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.');
DEF_FAC_MESSAGE ('ALG_M221', 'Verwijderen vloersoort ');
DEF_FAC_MESSAGE ('ALG_M222', 'Schoonmaakkosten per gebouw');
DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_OMSCHR', 'De omschrijving van de vloersoort is niet ingevuld.');
DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_UPPER', 'De omschrijving van de vloersoort is niet ingevuld.');
DEF_FAC_MESSAGE ('ALG_R_ALG_SRTVLOER_KEY', 'Er zijn nog referenties van ruimte naar deze vloersoort.');
DEF_FAC_MESSAGE ('ALG_U_ALG_SRTVLOER_UPPER', 'Het veld ''Omschrijving'' is niet uniek.');
/* AKZ */
DEF_FAC_ENTITY ('AKZ_NIVO', 'Omschrijving', NULL, NULL);
DEF_FAC_ENTITY ('AKZ_NIVO_CODE', 'Code', NULL, NULL);
DEF_FAC_ENTITY ('AKZ_NIVO_KENGETAL', 'Kengetal', NULL, NULL);
DEF_FAC_ENTITY ('AKZ_NIVO_DOCUMENT', 'Document', NULL, NULL);
DEF_FAC_MESSAGE ('AKZ_M013','Verwijderen niet toegestaan, dit schoonmaakniveau is nog actief.');
DEF_FAC_MESSAGE ('AKZ_SCHNIVO', 'Schoonmaakniveau');
DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_CODE', 'De schoonmaakcode is niet ingevuld.');
DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet ingevuld.');
DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_OMSCHR', 'De omschrijving van de schoonmaakcode is niet ingevuld.');
DEF_FAC_MESSAGE ('AKZ_U_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet uniek.');
DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_KENGETAL', 'Het kengetal mag niet kleiner zijn dan nul.');
#endif // AKZ
-- LOG#1729
INSERT INTO fac_entity_name VALUES ('MENU_INS_ONDERDEELSRT' ,'O'||CHR(38)||'nderdeelsoort' , NULL, NULL);
-- LOG#1817
INSERT INTO fac_entity_name VALUES ('MENU_ALG_RUIMTE' ,'R'||CHR(38)||'uimte' , NULL, NULL);
-- LOG#1691
ALTER TABLE prs_bedrijf
MODIFY prs_bedrijf_uitvoerende default 1;
UPDATE prs_bedrijf
SET prs_bedrijf_uitvoerende = 1;
-- LOG#983
DEF_FAC_MESSAGE ('FAC_M025', 'Gebruiker ''%1%''');
-- LOG#1594
UPDATE fac_message
SET fac_message_text='Verwijderen is niet mogelijk omdat er nog delen bij de deelsoort zijn.'
WHERE fac_message_code='INS_M013';
/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */
UPDATE fac_module
SET fac_module_version='01.37',
fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD');
-- LOG#1717
DEF_FAC_MESSAGE ('MENU_MLD_HERKTEKST' ,CHR(38)||'Herkenningstekst', NULL, NULL);
-- LOG#1821
#ifdef CAD
CREATE_TABLE(cad_tekening, NORMAAL_PRIVILEGE)
(
cad_tekening_key
NUMBER(10)
CONSTRAINT cad_k_cad_tekening_key PRIMARY KEY,
ins_discipline_key
NUMBER(10)
NOT_NULL(ins_discipline_key, cad_c_ins_discipline_key)
CONSTRAINT cad_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key),
alg_locatie_key
NUMBER(10)
NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key)
CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key),
alg_verdieping_key /* is optioneel NULL */
NUMBER(10)
CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key),
cad_tekening_filenaam /* excl. leading PATH (komt uit INI-file), incl. extension */
VARCHAR2(256)
NOT_NULL(cad_tekening_filenaam, cad_c_cad_tekening_filenaam),
cad_tekening_geimporteerd /* geeft aan of de tekening al is geimporteerd: */
DATE /* NULL indien niet, anders datum van importeren */
DEFAULT NULLDATUM,
CONSTRAINT cad_u_cad_tekening UNIQUE(ins_discipline_key,alg_locatie_key,alg_verdieping_key)
);
CREATE_VIEW(cad_v_cad_aanwezigtekening, NORMAAL_PRIVILEGE) AS
SELECT * FROM cad_tekening C_T
WHERE C_T.ins_discipline_key IN (SELECT ins_discipline_key
FROM ins_discipline);
CREATE INDEX cad_i_cad_tekening1 ON cad_tekening(ins_discipline_key);
CREATE INDEX cad_i_cad_tekening2 ON cad_tekening(alg_locatie_key);
CREATE INDEX cad_i_cad_tekening3 ON cad_tekening(alg_verdieping_key);
CREATE SEQUENCE cad_s_cad_tekening_key MINVALUE 1;
CREATE_TRIGGER(cad_t_cad_tekening_B_IU)
BEFORE INSERT OR UPDATE ON cad_tekening
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(cad_tekening_key, cad_s_cad_tekening_key);
END;
/
INSERT INTO fac_entity_name VALUES ('CAD_TEKENING_OMSCHR', 'Tekening', NULL, NULL);
_FAC_MODULE('CAD','AutoCAD koppeling')
#ifdef AKZ
DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De vakgroep behorende bij de tekening is niet ingevuld.');
DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige vakgroep.');
DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie vakgroep, locatie en verdieping.');
#else
DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De discipline behorende bij de tekening is niet ingevuld.');
DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige discipline.');
#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA)
DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, object en verdieping.');
#else
DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, locatie en verdieping.');
#endif
#endif // AKZ
#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA)
DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'Het object behorende bij de tekening is niet ingevuld.');
DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldig object.');
#else
DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'De locatie behorende bij de tekening is niet ingevuld.');
DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldige locatie.');
#endif
DEF_FAC_MESSAGE ('CAD_R_ALG_VERDIEPING_KEY' , 'De tekening refereert naar een ongeldige bouwlaag.');
DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_FILENAAM' , 'De bestandsnaam van de tekening is niet ingevuld.');
#endif // CAD
COMMIT;
SPOOL OFF

View File

@@ -1,376 +0,0 @@
set echo on
SPOOL 138to139
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\138TO139.SQL]
--
-- Update script van Facilitor 2.0 versie 1.38 naar 1.39
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* --- 01.39 ---
* *** LET OP: een deel van dit updatescript is reeds opgeleverd! ***
*/
#include "modules.h"
#include "comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.38 naar 01.39
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.38 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* denk aan #ifdef constructies! */
/* PLAATS HIERTUSSEN DE UPDATES */
#ifdef CAD
-- Voeg veld cadlayer toe aan tabel ins_srtdeel
ALTER TABLE ins_srtdeel
ADD ins_srtdeel_cadlayer VARCHAR2(30);
-- Voeg veld type-tekening toe
ALTER TABLE cad_tekening
ADD
(cad_tekening_type
VARCHAR2(3)
NOT_NULL (cad_tekening_type, cad_c_cad_tekening_type)
CONSTRAINT cad_c_cad_tekening_type2 CHECK(cad_tekening_type = 'P'
OR cad_tekening_type = 'C'
OR cad_tekening_type = 'D')
);
CREATE_VIEW(cad_v_cad_aanwezigtekening, NORMAAL_PRIVILEGE) AS
SELECT * FROM cad_tekening C_T
WHERE C_T.ins_discipline_key IN (SELECT ins_discipline_key
FROM ins_discipline)
OR C_T.ins_discipline_key IS NULL;
CREATE_VIEW(cad_v_cad_tekening_gegevens, NORMAAL_PRIVILEGE)
(cad_tekening_key,
alg_locatie_key,
alg_locatie_code,
alg_gebouw_key,
alg_gebouw_code,
alg_verdieping_key,
alg_verdieping_omschrijving,
ins_discipline_key,
ins_discipline_omschrijving) AS
SELECT C_T.cad_tekening_key,
C_T.alg_locatie_key,
ALG_L.alg_locatie_code,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
C_T.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
C_T.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM alg_locatie ALG_L,
alg_verdieping ALG_V,
alg_gebouw ALG_G,
ins_discipline INS_D,
cad_v_cad_aanwezigtekening C_T
WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key
AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+)
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+)
AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+);
CREATE_VIEW(cad_v_plattegrond, CAD_PRIVILEGE) AS
SELECT * FROM cad_tekening
WHERE UPPER(cad_tekening_type) = 'P';
CREATE_VIEW(cad_v_contour, CAD_PRIVILEGE) AS
SELECT * FROM cad_tekening
WHERE UPPER(cad_tekening_type) = 'C';
CREATE_VIEW(cad_v_discipline, CAD_PRIVILEGE) AS
SELECT * FROM cad_tekening
WHERE UPPER(cad_tekening_type) = 'D';
/* 29-06-1998 KTH LOG#1905
* Views die door de AutoCAD Map-user FCLTCAD worden geraadpleegd.
* Bij die user heet de SYNONYM ernaar toe wellicht anders.
*/
CREATE_VIEW(cad_v_alg_gebouw, CAD_PRIVILEGE)
(alg_gebouw_key,
alg_gebouw_cadlabel,
alg_gebouw_code) AS
SELECT alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_code
FROM alg_v_aanweziggebouw;
CREATE_VIEW(cad_v_alg_ruimte, CAD_PRIVILEGE)
(alg_ruimte_key,
alg_ruimte_cadlabel,
alg_ruimte_nr,
alg_verdieping_key) AS
SELECT alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_nr,
alg_verdieping_key
FROM alg_v_aanwezigruimte;
/* View met ALLE tekeningen, ongeacht de autorisatie; minimale kolommen, gebruikt in CAD_PAC.SRC */
CREATE_VIEW(cad_v_cad_tekening, CAD_PRIVILEGE) AS
SELECT ins_discipline_key,
alg_locatie_key,
alg_verdieping_key,
cad_tekening_type,
cad_tekening_filenaam
FROM cad_tekening C_T;
#ifdef INS
/* 29-06-1998 KTH LOG#1905
* View CAD_V_INS_DEEL wordt door de AutoCAD Map-user FCLTCAD geraadpleegd.
* Bij die user heet de SYNONYM ernaar toe wellicht anders.
*/
#ifdef AKZ
/* voor AKZ wordt alleen het laatste stuk van de omschrijving gebruikt */
CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE)
(ins_deel_key,
ins_deel_cadlabel,
ins_deel_upper) AS
SELECT ins_deel_key,
SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-5), /* laatste 5 karakters */
ins_deel_upper
FROM ins_deel
WHERE ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */
#else
CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE)
(ins_deel_key,
ins_deel_cadlabel,
ins_deel_upper) AS
SELECT ins_deel_key,
ins_deel_upper,
ins_deel_upper
FROM ins_deel
WHERE D.ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */
CREATE OR REPLACE PACKAGE cad AS
FUNCTION cad_f_deel_get_locatie(key IN NUMBER) RETURN NUMBER;
FUNCTION cad_f_deel_get_verdieping(key IN NUMBER) RETURN NUMBER;
FUNCTION cad_f_deel_get_discipline(key IN NUMBER) RETURN NUMBER;
FUNCTION cad_f_deel_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2;
FUNCTION cad_f_ruimte_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2;
PROCEDURE cad_p_ruimte_update_opp(key IN NUMBER, VloerOpp IN NUMBER);
/* garandeer dat de functies de database-state en package-state niet beinvloeden
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
*/
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_tekeningnaam, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_ruimte_get_tekeningnaam, WNDS, WNPS);
END cad;
CREATE OR REPLACE PACKAGE BODY cad AS
FUNCTION cad_f_deel_get_locatie(Key IN NUMBER) RETURN NUMBER IS
locatie_key NUMBER(10);
BEGIN
SELECT ins_alg_locatie_key
INTO locatie_key
FROM all_v_aanwezigdeel
/* FROM ins_deel -- de tabel i.o.m. PF view gebruiken */
WHERE ins_deel_key = Key;
RETURN locatie_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END cad_f_deel_get_locatie;
FUNCTION cad_f_deel_get_verdieping(Key IN NUMBER) RETURN NUMBER IS
verdieping_key NUMBER(10);
BEGIN
SELECT ALG_G.alg_verdieping_key
INTO verdieping_key
FROM alg_ruimte ALG_G, ins_deel INS_D /* de tabel! */
WHERE INS_D.ins_deel_key = Key
AND INS_D.ins_alg_ruimte_key = ALG_G.alg_ruimte_key;
RETURN verdieping_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END cad_f_deel_get_verdieping;
FUNCTION cad_f_deel_get_discipline(Key IN NUMBER) RETURN NUMBER IS
discipline_key NUMBER(10);
BEGIN
SELECT ins_discipline_key
INTO discipline_key
FROM all_v_aanwezigdeel
/* FROM ins_deel -- de tabel! */
WHERE ins_deel_key = Key;
RETURN discipline_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END cad_f_deel_get_discipline;
FUNCTION cad_f_deel_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS
tekeningnaam VARCHAR2(256);
locatie_key NUMBER(10);
verdieping_key NUMBER(10);
discipline_key NUMBER(10);
BEGIN
locatie_key := cad_f_deel_get_locatie(Key);
verdieping_key := cad_f_deel_get_verdieping(Key);
discipline_key := cad_f_deel_get_discipline(Key);
IF (locatie_key IS NOT NULL AND
verdieping_key IS NOT NULL AND
discipline_key IS NOT NULL) THEN
BEGIN
SELECT cad_tekening_filenaam
INTO tekeningnaam
FROM cad_v_cad_tekening /* ja deze! */
WHERE alg_locatie_key = locatie_key
AND alg_verdieping_key = verdieping_key
AND ins_discipline_key = discipline_key;
RETURN tekeningnaam;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* raise_application_error(-20000, 'ins_m166'); */
RETURN NULL;
END;
ELSE
RETURN NULL;
END IF;
END cad_f_deel_get_tekeningnaam;
FUNCTION cad_f_ruimte_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS
tekeningnaam VARCHAR2(256);
locatie_key NUMBER(10);
verdieping_key NUMBER(10);
BEGIN
SELECT alg_locatie_key, alg_verdieping_key
INTO locatie_key, verdieping_key
FROM alg_v_ruimte_gegevens
WHERE alg_ruimte_key = Key;
IF (locatie_key IS NOT NULL AND
verdieping_key IS NOT NULL) THEN
BEGIN
SELECT cad_tekening_filenaam
INTO tekeningnaam
FROM cad_v_cad_tekening /* ja deze! */
WHERE alg_locatie_key = locatie_key
AND alg_verdieping_key = verdieping_key
AND cad_tekening_type = 'C';
RETURN tekeningnaam;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* raise_application_error(-20000, 'ins_m166'); */
RETURN NULL;
END;
ELSE
RETURN NULL;
END IF;
END cad_f_ruimte_get_tekeningnaam;
/*
* CAD_P_RUIMTE_UPDATE_OPP wordt aangeroepen vanuit AutoCAD
* en wijzigt de vloeroppervlakte van een opgegeven ruimte
*
* Merk op dat een eventuele EXCEPTION hier niet expliciet wordt afgevangen!
*/
PROCEDURE cad_p_ruimte_update_opp(Key IN NUMBER, VloerOpp IN NUMBER) IS
BEGIN
/* alleen indien het een logisch aanwezige ruimte betreft passen we de opp aan */
UPDATE alg_v_aanwezigruimte
SET alg_ruimte_bruto_vloeropp = VloerOpp
WHERE alg_ruimte_key = Key;
COMMIT;
END cad_p_ruimte_update_opp;
END cad;
/* View met tekening bij ins_deel_key, ongeacht de autorisatie, gebruikt CAD_PAC.SRC
* Wordt vanuit AutoCAD gebruikt.
*/
CREATE_VIEW(cad_v_ins_deel_tekening, CAD_PRIVILEGE) AS
SELECT ins_deel_key,
cad.cad_f_deel_get_tekeningnaam(ins_deel_key) cad_tekeningnaam
FROM ins_deel;
/* View met tekening bij alg_ruimte_key, ongeacht de autorisatie, gebruikt CAD_PAC.SRC
* Wordt vanuit AutoCAD gebruikt.
*/
CREATE_VIEW(cad_v_alg_ruimte_tekening, CAD_PRIVILEGE) AS
SELECT alg_ruimte_key,
cad.cad_f_ruimte_get_tekeningnaam(alg_ruimte_key) cad_tekeningnaam
FROM alg_ruimte;
DEF_FAC_ENTITY ('INS_PLAATS_GRAFISCH', 'Grafisch', NULL, NULL);
DEF_FAC_ENTITY ('ALG_PLAATS_GRAFISCH', 'Grafisch', NULL, NULL);
DEF_FAC_MESSAGE ('ALG_M226', 'Dit programma-onderdeel ondersteunt niet de multi-select mogelijkheid.');
DEF_FAC_MESSAGE ('CAD_M003', 'Geen contourtekening gevonden.');
DEF_FAC_MESSAGE ('INS_M165', 'Er is geen AutoCAD symbool beschikbaar voor dit installatiedeel.');
DEF_FAC_MESSAGE ('INS_M166', 'Geen AutoCadtekening beschikbaar voor dit installatiedeel.');
#ifdef AKZ
DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Vakgroeptekening betreft, maar geen Vakgroep gekozen.');
DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.');
DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Vakgroeptekening zijn.');
#else
DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Disciplinetekening betreft, maar geen Discipline gekozen.');
DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.');
DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Disciplinetekening zijn.');
#endif // AKZ
#endif CAD
/*************************************************************************************************************
* Het bovenstaande script is op 06/08/1998 door PF geinstalleerd bij de AKZO * *
*************************************************************************************************************/
COMMIT;
SPOOL OFF

View File

@@ -1,70 +0,0 @@
set echo on
SPOOL 139to140
--
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\139TO140.SQL]
--
-- Update script van Facilitor 2.0 versie 1.39 naar 1.40
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* --- 01.40 ---
********* IS NIETS INGEZET DOOR BIV ?!?!?!?!?! ***********
*
*/
#include "modules.h"
#include "comsql.h"
set heading off
clear screen
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.39 naar 01.40
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 01.39 en is: '||
fac_module_version FROM fac_module WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
set heading on
/* denk aan #ifdef constructies! */
/* PLAATS HIERTUSSEN DE UPDATES */
COMMIT;
SPOOL OFF

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
@echo off
REM 990921/BIV Creatie
REM %1 USERNAME/PASSWORD bijv fclt3/f
Echo Start SQL*Plus
Plus33W.exe %1 @300to301.sql
Echo Done...

View File

@@ -1,202 +0,0 @@
SET TERMOUT ON
SET FEEDBACK ON
SET ECHO ON
--
-- Update script van Facilitor 3.0 versie 3.00 naar 3.01
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
*
* 30-06-1999/BIV Trigger mld_t_mld_melding_b_iu is aangepast.
* 22-06-1999/EGR Bij het kopieren van een bestand kan het voorkomen dat het oorspronkelijke bestand niet
* bestaat of het kopieren niet kan plaatsvinden. In deze gevallen worden de meldingen
* PRJ_M002 en PRJ_M001 gegeven.
* 22-06-1999/EGR De before insert_update trigger op cad_tekening maakt voor de verhuistekening ook een
* filenaam met key-nummer aan. Omdat het dan moeilijk terug te vinden is welke tekening nu
* de "verhuiswagen" is, is de contraint op cad_tekening_type aangepast zodat deze ook van
* het type "V" (Verhuiswagen) kan zijn.
* 22-06-1999/EGR In de regel worden records niet verwijderd maar wordt het veld verwijderdatum gezet.
* Om een project te verwijderen moeten zowel in cad_tekening als prj_project de verwijder
* datum worden ingevuld. Echter voor prj_project was dit veld niet aanwezig. Met dit script
* dus wel.
* --- 03.00 ---
*
*/
#include "modules.h"
#include "comsql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 3.0 versie 03.00 naar 03.01
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 03.00 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 110
SET SERVEROUTPUT ON;
SPOOL $300TO301.SQL
PROMPT SPOOL $300TO301.LST;
UPDMOD(FAC,300TO301)
UPDMOD(ALG,300TO301)
UPDMOD(INS,300TO301)
UPDMOD(PRS,300TO301)
UPDMOD(MLD,300TO301)
UPDMOD(CAD,300TO301)
UPDMOD(AKZ,300TO301)
UPDMOD(PRJ,300TO301)
UPDMOD(SCH,300TO301)
UPDMOD(SLE,300TO301)
UPDATE_VERSION('03.01');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $300TO301.SQL
EXIT
#endif // MASTER
/* PLAATS HIERONDER DE UPDATES */
/* denk aan #ifdef constructies! */
#ifdef PRJ
DEF_FAC_MESSAGE('PRJ_M0012','Het bestand %1% kopieren naar %2% is niet gelukt.');
DEF_FAC_MESSAGE('PRJ_M0013','Het bestand %1% bestaat niet.');
COMMIT;
ALTER TABLE prj_project
ADD (prj_project_verwijder DATE DEFAULT NULLDATUM);
END;
#endif // PRJ
#ifdef CAD
ALTER TABLE cad_tekening DROP CONSTRAINT cad_c_cad_tekening_type2;
ALTER TABLE cad_tekening
ADD (CONSTRAINT cad_c_cad_tekening_type2 CHECK(cad_tekening_type IN ('P','C','D','V')));
#endif // CAD
#ifdef MLD
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m191');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m191');
END;
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
END;
/
#endif // MLD

View File

@@ -1,7 +0,0 @@
@echo off
REM 990921/BIV Creatie
REM %1 USERNAME/PASSWORD bijv fclt3/f
Echo Start SQL*Plus
Plus33W.exe %1 @301to302.sql
Echo Done...

View File

@@ -1,731 +0,0 @@
SET TERMOUT ON
SET FEEDBACK ON
SET ECHO ON
--
-- Update script van Facilitor 3.0 versie 3.01 naar 3.02
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
* Revisie:
*
* 12-07-99 BIV View ins_v_deel_gegevens_keys levert te veel waarden op.
* 08-07-99 PF Fix#12 en Fix#13
* --- 03.01 ---
*
*/
#include "modules.h"
#include "comsql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 3.0 versie 03.01 naar 03.02
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 03.01 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 110
SET SERVEROUTPUT ON;
SPOOL $301TO302.SQL
PROMPT SPOOL $301TO302.LST;
UPDMOD(FAC,301TO302)
UPDMOD(ALG,301TO302)
UPDMOD(INS,301TO302)
UPDMOD(PRS,301TO302)
UPDMOD(MLD,301TO302)
UPDMOD(CAD,301TO302)
UPDMOD(AKZ,301TO302)
UPDMOD(PRJ,301TO302)
UPDMOD(SCH,301TO302)
UPDMOD(SLE,301TO302)
UPDATE_VERSION('03.02');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $301TO302.SQL
EXIT
#endif // MASTER
/* PLAATS HIERONDER DE UPDATES */
/* denk aan #ifdef constructies! */
#ifdef INS
CREATE_VIEW(ins_v_deel_gegevens_keys,INS_NORMAAL_PRIVILEGE)
(
ins_discipline_key,ins_srtgroep_key,ins_srtdeel_key,alg_locatie_key
,alg_gebouw_key,alg_verdieping_key,alg_ruimte_key,prs_werkplek_key,alg_terreinsector_key,ins_deel_key
)
AS
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,de.ins_alg_ruimte_key,to_number(null),to_number(null),de.ins_deel_key
from ins_v_aanwezigdeel de,ins_srtgroep gr, ins_srtdeel sd, alg_ruimte ru,alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
and ((de.ins_alg_ruimte_key = ru.alg_ruimte_key) and de.ins_alg_ruimte_type = 'R')
and ((ru.alg_verdieping_key = ve.alg_verdieping_key) and de.ins_alg_ruimte_type = 'R')
and de.ins_deel_module = 'INS'
union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,ru.alg_ruimte_key,de.ins_alg_ruimte_key,to_number(null),de.ins_deel_key
from ins_v_aanwezigdeel de,ins_srtgroep gr, ins_srtdeel sd, prs_werkplek wp, alg_ruimte ru, alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
and ((de.ins_alg_ruimte_key = wp.prs_werkplek_key) and de.ins_alg_ruimte_type = 'W')
and ((wp.prs_alg_ruimte_key = ru.alg_ruimte_key) and de.ins_alg_ruimte_type = 'W')
and ru.alg_verdieping_key = ve.alg_verdieping_key
and de.ins_deel_module = 'INS'
union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,to_number(null),to_number(null),to_number(null),to_number(null)
,de.ins_alg_ruimte_key,de.ins_deel_key
from ins_v_aanwezigdeel de,ins_srtgroep gr, ins_srtdeel sd
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
and de.ins_alg_ruimte_type = 'T' and de.ins_deel_module = 'INS';
#endif // INS
#ifdef AKZ
-- PF Aanpassing(rev 7) aan akz_v_mld_opdrachtgeprint ongedaan gemaakt, vanwege
-- Invalid number.
CREATE_VIEW(akz_v_mld_opdrachtgeprint, NORMAAL_PRIVILEGE)
( mld_opdracht_key
, mld_opdracht_geprint
, mld_opdracht_omschrijving
, mld_opdr_bedrijfopdr_volgnr
, mld_opdr_contactpersoon
, mld_opdr_uren
, mld_opdr_uurloon
, mld_opdr_kosten
, mld_opdr_materiaal
, mld_melding_key
, mld_melding_username
, prs_perslid_nr
, mld_melding_melder_naam
, prs_perslid_telefoonnr
, prs_perslid_gebouw_code
, prs_perslid_verd_ruimte
, prs_afdeling_naam
, alg_locatie_code
, alg_gebouw_omschrijving
, alg_verdieping_omschrijving
, alg_ruimte_omschrijving
, alg_terreinvak_omschrijving
, mld_stdmelding_omschrijving
, mld_melding_omschrijving
, mld_melding_datum
, mld_melding_uitvoertijd
, akz_bewonersordernr
, prs_bedrijf_naam
, prs_bedrijf_post_adres
, prs_bedrijf_post_plaats
, prs_overeenkomst_nr
)
AS
SELECT MLD_O.mld_opdr_key,
MLD_O.mld_opdr_geprint,
MLD_O.mld_opdr_omschrijving,
MLD_O.mld_opdr_bedrijfopdr_volgnr,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_uren,
MLD_O.mld_opdr_uurloon,
MLD_O.mld_opdr_kosten,
MLD_O.mld_opdr_materiaal,
MLD_M.mld_melding_key,
MLD_M.mld_melding_username,
AKZ_PG.prs_perslid_nr,
MLD_M.mld_melding_melder_naam,
AKZ_PG.prs_perslid_telefoonnr,
AKZ_PG.alg_gebouw_code,
TO_CHAR(AKZ_PG.alg_verdieping_volgnr)||'-'||AKZ_PG.alg_ruimte_nr,
AKZ_PG.prs_afdeling_naam,
ALG_L.alg_locatie_code,
rtrim(ALG_OG.alg_gebouw_code)||'-'||ALG_OG.alg_gebouw_naam,
rtrim(TO_CHAR(ALG_OG.alg_verdieping_volgnr))||'-'||ALG_OG.alg_verdieping_omschrijving,
rtrim(ALG_OG.alg_ruimte_nr)||'-'||ALG_OG.alg_ruimte_omschrijving,
decode(alg_type,'T',rtrim(alg_terreinsector_code)||'-'||ALG_OG.alg_onroerendgoed_omschrijving,'-'),
MLD_SM.mld_stdmelding_omschrijving,
MLD_M.mld_melding_omschrijving,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
MLD_M.akz_bewonersordernr,
PRS_B.prs_bedrijf_naam,
PRS_B.prs_bedrijf_post_adres,
PRS_B.prs_bedrijf_post_plaats,
PRS_B.prs_overeenkomst_nr
FROM mld_opdr MLD_O,
mld_melding MLD_M,
mld_meldbron MLD_MB,
ins_tab_discipline INS_D,
alg_locatie ALG_L,
mld_stdmelding MLD_SM,
alg_v_onroerendgoed_gegevens ALG_OG,
akz_v_mld_perslid_gegevens AKZ_PG,
prs_bedrijf PRS_B
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_OG.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_MB.mld_meldbron_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key
AND UPPER(MLD_M.mld_melding_melder_naam) = AKZ_PG.prs_perslid_upper (+)
/
#endif // AKZ
#ifdef MLD
-- Fix #13
CREATE_VIEW(mld_v_mld_openmelding,MLD_NORMAAL_PRIVILEGE)
( mld_melding_module
, mld_statussoort
, mld_melding_key
, mld_ins_discipline_key
, mld_ins_srtinst_keys
, mld_alg_onroerendgoed_keys
, mld_melding_datum
, mld_melding_melder_naam
, mld_meldbron_key
, mld_oorzaak_key
, mld_stdmelding_key
, mld_melding_ingezien
, mld_melding_afgewezen
, mld_melding_geaccepteerd
, mld_melding_afgemeld
, mld_melding_verwerkt
)
AS
SELECT 'MLD',
'INGEVOERD',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE mld_melding_ingezien IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
UNION
SELECT 'MLD',
'INGEZIEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE MLD_M.mld_melding_ingezien IS NOT NULL
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'OVERSCHREDEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_stdmelding MLD_SM, mld_discipline MLD_D
WHERE SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_SM.mld_stdmelding_urgentie,
'UREN')
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'TE_LAAT',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
'DAGEN')
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'AFGEWEZEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE
MLD_M.mld_melding_geaccepteerd IS NULL /* onnodig */
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
AND MLD_M.mld_melding_afgewezen IS NOT NULL
UNION
SELECT 'MLD',
'GEACCEPTEERD',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE NOT EXISTS (SELECT ''
FROM mld_opdr MLD_O
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND rownum=1)
AND MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT DISTINCT 'MLD',
'UITGEGEVEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D, mld_opdr MLD_O
WHERE MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_M.mld_melding_verwerkt IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
UNION
SELECT DISTINCT 'MLD',
'OPEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_opdr MLD_O, mld_discipline MLD_D, mld_statusopdr MLD_S
WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+)
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key (+)
AND ( MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD'
OR MLD_O.mld_statusopdr_key IS NULL)
AND MLD_M.mld_melding_verwerkt IS NULL /* extra-afwijkend */
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'AFGEMELD',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE (EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD'
AND rownum=1)
OR MLD_M.mld_melding_afgemeld IS NOT NULL)
AND MLD_M.mld_melding_verwerkt IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'VERWERKT',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE
/* ((EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper = 'MLD_VERWERKT')
AND NOT EXISTS (SELECT MLD_O.mld_opdr_key
FROM mld_opdr MLD_O, mld_statusopdr MLD_S
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper <> 'MLD_VERWERKT')
)
OR
*/ MLD_M.mld_melding_verwerkt IS NOT NULL
/* ) */
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
UNION
SELECT 'MLD',
'ALL',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
/
-- Fix#12
CREATE_VIEW(mld_v_mld_openopdr_gegevens,MLD_NORMAAL_PRIVILEGE)
(mld_opdr_module,
mld_opdr_key, mld_melding_key, mld_statusopdr_key, mld_statusopdr_omschrijving,
mld_opdr_datumbegin, mld_opdr_datumuitgevoerd, mld_opdr_dagen, mld_alg_onroerendgoed_keys,
mld_uitvoerende_keys, mld_opdr_contactpersoon, mld_opdr_geprint, mld_statussoort,
mld_opdr_bedrijfopdr_volgnr) AS
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'OPEN',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_M.mld_ins_discipline_key=MLD_D.ins_discipline_key
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'ALL',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_M.mld_ins_discipline_key=MLD_D.ins_discipline_key
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'INGEVOERD',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND (MLD_S.mld_statusopdr_upper = 'MLD_UITGEGEVEN')
AND MLD_M.mld_ins_discipline_key=MLD_D.ins_discipline_key
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'AFGEMELD',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper = 'MLD_AFGEMELD'
AND MLD_M.mld_ins_discipline_key=MLD_D.ins_discipline_key
UNION
SELECT MLD_O.mld_opdr_module,
MLD_O.mld_opdr_key,
MLD_O.mld_melding_key,
MLD_O.mld_statusopdr_key,
MLD_S.mld_statusopdr_omschrijving,
MLD_O.mld_opdr_datumbegin,
MLD_O.mld_opdr_datumuitgevoerd,
MLD_O.mld_opdr_dagen,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_O.mld_uitvoerende_keys,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_geprint,
'VERWERKT',
MLD_O.mld_opdr_bedrijfopdr_volgnr
FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S, mld_v_aanwezigdiscipline MLD_D
WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key
AND MLD_S.mld_statusopdr_upper = 'MLD_VERWERKT'
AND MLD_M.mld_ins_discipline_key=MLD_D.ins_discipline_key
/
-- Fix #28
CREATE_VIEW(mld_v_mld_melding_gegevens,MLD_NORMAAL_PRIVILEGE)( mld_melding_key,
mld_melding_datum,
mld_melding_module,
mld_meldbron_key,
mld_oorzaak_key,
mld_stdmelding_key,
mld_melding_omschrijving,
mld_melding_username,
mld_melding_melder_naam,
mld_melding_uitvoertijd,
ins_discipline_key,
ins_srtgroep_key,
ins_srtdeel_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key,
alg_terreinsector_key) AS
SELECT MLD_M.mld_melding_key,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_module,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_omschrijving,
MLD_M.mld_melding_username,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_melding_uitvoertijd,
MLD_M.mld_ins_discipline_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
MLD_M.mld_alg_locatie_key,
ALG_O.alg_gebouw_key,
ALG_O.alg_verdieping_key,
ALG_O.alg_ruimte_key,
ALG_O.alg_terreinsector_key
FROM mld_melding MLD_M,
alg_v_onroerendgoed ALG_O
WHERE MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys;
/
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
END;
/
#endif // MLD

View File

@@ -1,7 +0,0 @@
@echo off
REM 990921/BIV Creatie
REM %1 USERNAME/PASSWORD bijv fclt3/f
Echo Start SQL*Plus
Plus33W.exe %1 @302to310.sql
Echo Done...

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,390 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor 3.0 versie 3.12 naar 3.13
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
/*************************************************************************************************************
*
* 290200/BIV - LET OP : DEZE UPDATE IS NOOIT GEBRUIKT !!!
* WIJ ZIJN VAN VERSIE 3.12 NAAR 3.20 GEGAAN.
* DE INHOUD VAN DIT SCRIPT IS DAN OOK OVERGENOMEN IN 312TO320.SRC
*
*************************************************************************************************************/
#include "modules.h"
#include "comsql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 3.0 versie 03.12 naar 03.13
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 03.12 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 110
SET SERVEROUTPUT ON;
SPOOL $312TO313.SQL
PROMPT SPOOL $312TO313.LST;
UPDMOD(FAC,312TO313)
UPDMOD(ALG,312TO313)
UPDMOD(INS,312TO313)
UPDMOD(PRS,312TO313)
UPDMOD(MLD,312TO313)
UPDMOD(CAD,312TO313)
UPDMOD(AKZ,312TO313)
UPDMOD(PRJ,312TO313)
UPDMOD(RES,312TO313)
UPDMOD(SCH,312TO313)
UPDMOD(SLE,312TO313)
UPDATE_VERSION('03.13');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $312TO313.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
/* Weer op de oude manier dus bijvoorbeeld :
#ifdef ALG
bla bla
#endif // ALG
etc.
*/
#ifdef FAC
CREATE OR REPLACE FUNCTION FAC_F_FAC_GET_DESCRIPTION(LPNName IN VARCHAR2
,CondKey IN NUMBER
,Prefix IN VARCHAR2
,PrefixKey IN NUMBER) RETURN VARCHAR2 IS
NextVolgNr VARCHAR2(20);
ReturnString VARCHAR2(30);
BEGIN
IF LPNName = 'LPN_INS_DEEL'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1)))+1)), '***')
INTO NextVolgNr
FROM all_v_aanwezigdeel
WHERE LTRIM(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
AND ins_deel_upper LIKE Prefix||'%'
AND LENGTH(ins_deel_upper) <= LENGTH(Prefix)+i
AND ins_alg_locatie_key = CondKey
AND ins_srtdeel_key = PrefixKey;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_INS_ONDERDEEL'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1)))+1)), '***')
INTO NextVolgNr
FROM ins_deel
WHERE LTRIM(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
AND ins_alg_locatie_key = CondKey
AND ins_deel_verwijder IS NULL
AND ins_deel_parent_key IS NOT NULL
AND ins_deel_upper LIKE Prefix||'%'
AND LENGTH(ins_deel_upper) <= LENGTH(Prefix)+i
AND ins_srtdeel_key = PrefixKey;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigterreinsector
WHERE LTRIM(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_terreinsector_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_GEBOUW'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanweziggebouw
WHERE LTRIM(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_gebouw_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_RUIMTE'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigruimte
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_verdieping_key = CondKey
AND LENGTH(alg_ruimte_nr) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_PRS_WERKPLEK'
THEN
BEGIN
SELECT TO_CHAR(NVL(MAX(prs_werkplek_volgnr),0) +1)
INTO NextVolgNr
FROM prs_werkplek
WHERE prs_alg_ruimte_key = CondKey
AND prs_werkplek_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NextVolgNr := '1';
END;
/* Omschrijving */
BEGIN
SELECT alg_ruimte_nr ||' - '|| NextVolgNr
INTO NextVolgNr
FROM alg_ruimte
WHERE alg_ruimte_key = CondKey;
EXCEPTION
WHEN OTHERS
THEN NULL;
END;
END IF;
ReturnString := Prefix||NextVolgNr;
RETURN ReturnString;
END;
/
ALTER TABLE fac_usrdata
DROP CONSTRAINT fac_u_fac_usrdata_upper;
ALTER TABLE fac_usrdata
ADD CONSTRAINT fac_u_fac_usrdata_upper UNIQUE(fac_usrdata_upper, fac_usrtab_key, fac_usrdata_verwijder);
COMMIT;
#endif //FAC
#ifdef CAD
CREATE_VIEW(cad_v_ins_deel, FAC_NORMAAL_PRIVILEGE)
(ins_deel_key,
ins_deel_cadlabel,
ins_srtdeel_omschrijving,
ins_deel_oppervlak,
ins_deel_omtrek
) AS
SELECT D.ins_deel_key,
D.ins_deel_omschrijving,
SD.ins_srtdeel_omschrijving,
NVL(TO_CHAR(D.ins_deel_oppervlak),'-')||' m2',
NVL(TO_CHAR(D.ins_deel_omtrek),'-')||' m'
FROM all_v_aanwezigdeel D, ins_srtdeel SD
WHERE SD.ins_srtdeel_key=D.ins_srtdeel_key;
/
#endif //CAD
#ifdef AKZ
CREATE_VIEW(cad_v_ins_deel, FAC_NORMAAL_PRIVILEGE)
(ins_deel_key,
ins_deel_cadlabel,
ins_srtdeel_omschrijving,
ins_deel_oppervlak,
ins_deel_omtrek
) AS
SELECT D.ins_deel_key,
SUBSTR(D.ins_deel_upper, LENGTH(D.ins_deel_upper)-5), /* laatste 5 karakters */
SD.ins_srtdeel_omschrijving,
NVL(TO_CHAR(D.ins_deel_oppervlak),'-')||' m2',
NVL(TO_CHAR(D.ins_deel_omtrek),'-')||' m'
FROM all_v_aanwezigdeel D, ins_srtdeel SD
WHERE SD.ins_srtdeel_key=D.ins_srtdeel_key;
/
#endif //AKZ
#ifdef RES
CREATE_VIEW(fac_v_functie_discipline, FAC_BIBLIOTHEEK_PRIVILEGE)
(fac_functie_discipline_key,
fac_functie_discipline_type,
fac_functie_discipline_module,
fac_functie_discipline_omschr,
fac_functie_discipline_min_lev) AS
SELECT fac_functie_key,
'F',
fac_functie_module,
fac_functie_omschrijving,
fac_functie_min_level
FROM fac_functie
UNION
SELECT P.prs_afdeling_key,
'A',
'RES',
P.prs_afdeling_naam,
1
FROM prs_afdeling P
WHERE prs_afdeling_verwijder IS NULL
AND P.prs_afdeling_key IN
(SELECT prs_afdeling_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_afdeling_key = P.prs_afdeling_key
AND RowNum = 1)
UNION
SELECT B.prs_bedrijf_key,
'B',
'RES',
SUBSTR(B.prs_bedrijf_naam,1,15),
1
FROM prs_bedrijf B
WHERE prs_bedrijf_verwijder IS NULL
AND B.prs_bedrijf_key IN
(SELECT prs_bedrijf_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_bedrijf_key = B.prs_bedrijf_key
AND RowNum = 1)
UNION
SELECT ins_discipline_key,
decode(ins_discipline_module,'INS','D','MLD','V'),
ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level
FROM ins_tab_discipline
WHERE ins_discipline_verwijder is NULL;
/
#endif // RES

File diff suppressed because it is too large Load Diff

View File

@@ -1,953 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor 3.0 versie 3.20 naar 3.30
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor 3.0 versie 03.20 naar 03.30
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 03.20 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $320TO330.SQL
PROMPT SPOOL $320TO330.LST;
UPDMOD(FAC,320TO330)
UPDMOD(ALG,320TO330)
UPDMOD(INS,320TO330)
UPDMOD(PRS,320TO330)
UPDMOD(MLD,320TO330)
UPDMOD(CAD,320TO330)
UPDMOD(AKZ,320TO330)
UPDMOD(PRJ,320TO330)
UPDMOD(RES,320TO330)
UPDMOD(SCH,320TO330)
UPDMOD(SLE,320TO330)
UPDATE_VERSION('03.30');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $320TO330.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
/* Weer op de oude manier dus bijvoorbeeld :
#ifdef ALG
bla bla
#endif // ALG
etc.
*/
#ifdef ALG
#endif // ALG
#ifdef INS
alter table ins_kenmerk add(ins_kenmerk_locatiekolom VARCHAR2(30)
,ins_kenmerk_uniek NUMBER(1));
alter table ins_srtkenmerk modify (ins_srtkenmerk_lengte NUMBER(3));
alter table ins_srtkenmerk drop constraint ins_c_ins_srtkenmerk_lengte;
alter table ins_srtkenmerk add constraint ins_c_ins_srtkenmerk_lengte CHECK(ins_srtkenmerk_lengte >= 1
AND ins_srtkenmerk_lengte <= 255);
CREATE INDEX ins_i_ins_kenmerk_kenmerk2 ON ins_kenmerkdeel(ins_kenmerkdeel_waarde);
CREATE_VIEW(ins_v_srtdeel_kenmerk, INS_BIBLIOTHEEK_PRIVILEGE)
(ins_kenmerk_key,
ins_srtkenmerk_key,
ins_srtinstallatie_key,
ins_kenmerk_niveau,
ins_kenmerk_verplicht,
ins_kenmerk_toonbaar,
ins_kenmerk_uniek,
ins_kenmerk_locatiekolom,
ins_kenmerk_volgnummer,
ins_srtkenmerk_omschrijving,
ins_srtkenmerk_dimensie,
ins_srtkenmerk_kenmerktype,
ins_srtkenmerk_lengte,
ins_srtkenmerk_dec,
ins_srtkenmerk_nmin,
ins_srtkenmerk_nmax,
ins_refsrtkenmerk_key,
ins_srtdeel_key,
ins_srtdeel_omschrijving,
ins_srtdeel_upper,
ins_srtgroep_key,
ins_srtgroep_omschrijving,
ins_srtgroep_upper,
ins_discipline_key,
ins_discipline_omschrijving) AS
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_srtinstallatie_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_SG.ins_srtgroep_key,
INS_SG.ins_srtgroep_omschrijving,
INS_SG.ins_srtgroep_upper,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K
, ins_srtkenmerk INS_SK
, ins_v_aanwezigsrtdeel INS_SD
, ins_srtgroep INS_SG
, ins_discipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'S'
AND INS_SD.ins_srtdeel_key = INS_K.ins_srtinstallatie_key
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
UNION
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_srtinstallatie_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_SG.ins_srtgroep_key,
INS_SG.ins_srtgroep_omschrijving,
INS_SG.ins_srtgroep_upper,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K
, ins_srtkenmerk INS_SK
, ins_v_aanwezigsrtdeel INS_SD
, ins_v_aanwezigsrtgroep INS_SG
, ins_discipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'G'
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_srtgroep_key = INS_K.ins_srtinstallatie_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
UNION
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_srtinstallatie_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_SG.ins_srtgroep_key,
INS_SG.ins_srtgroep_omschrijving,
INS_SG.ins_srtgroep_upper,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K
, ins_srtkenmerk INS_SK
, ins_v_aanwezigsrtdeel INS_SD
, ins_v_aanwezigsrtgroep INS_SG
, ins_v_aanwezigdiscipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'D'
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
AND( INS_D.ins_discipline_key = INS_K.ins_srtinstallatie_key
OR INS_K.ins_srtinstallatie_key IS NULL);
CREATE_VIEW(ins_v_kenmerk_gegevens, INS_BIBLIOTHEEK_PRIVILEGE)
(ins_kenmerk_key,
ins_srtkenmerk_key,
ins_kenmerk_niveau,
ins_kenmerk_verplicht,
ins_kenmerk_toonbaar,
ins_kenmerk_uniek,
ins_kenmerk_locatiekolom,
ins_kenmerk_volgnummer,
ins_srtkenmerk_omschrijving,
ins_srtkenmerk_dimensie,
ins_srtkenmerk_kenmerktype,
ins_srtkenmerk_lengte,
ins_srtkenmerk_dec,
ins_srtkenmerk_nmin,
ins_srtkenmerk_nmax,
ins_refsrtkenmerk_key,
ins_srtdeel_key,
ins_srtdeel_omschrijving,
ins_srtdeel_upper,
ins_srtgroep_key,
ins_srtgroep_omschrijving,
ins_srtgroep_upper,
ins_discipline_key,
ins_discipline_omschrijving) AS
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
INS_SG.ins_srtgroep_key,
INS_SG.ins_srtgroep_omschrijving,
INS_SG.ins_srtgroep_upper,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK,
ins_v_aanwezigsrtdeel INS_SD, ins_srtgroep INS_SG,
ins_discipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'S'
AND INS_SD.ins_srtdeel_key = INS_K.ins_srtinstallatie_key
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
UNION
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
TO_NUMBER(NULL),
NULL,
NULL,
INS_SG.ins_srtgroep_key,
INS_SG.ins_srtgroep_omschrijving,
INS_SG.ins_srtgroep_upper,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK,
ins_v_aanwezigsrtgroep INS_SG,
ins_discipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'G'
AND INS_SG.ins_srtgroep_key = INS_K.ins_srtinstallatie_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key
UNION
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
NULL,
NULL,
INS_D.ins_discipline_key,
INS_D.ins_discipline_omschrijving
FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK,
ins_v_aanwezigdiscipline INS_D
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'D'
AND INS_K.ins_srtinstallatie_key = INS_D.ins_discipline_key
UNION
SELECT INS_K.ins_kenmerk_key,
INS_K.ins_srtkenmerk_key,
INS_K.ins_kenmerk_niveau,
INS_K.ins_kenmerk_verplicht,
INS_K.ins_kenmerk_toonbaar,
INS_K.ins_kenmerk_uniek,
INS_K.ins_kenmerk_locatiekolom,
INS_K.ins_kenmerk_volgnummer,
INS_SK.ins_srtkenmerk_omschrijving,
INS_SK.ins_srtkenmerk_dimensie,
INS_SK.ins_srtkenmerk_kenmerktype,
INS_SK.ins_srtkenmerk_lengte,
INS_SK.ins_srtkenmerk_dec,
INS_SK.ins_srtkenmerk_nmin,
INS_SK.ins_srtkenmerk_nmax,
INS_SK.ins_refsrtkenmerk_key,
TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
NULL,
NULL,
TO_NUMBER(NULL),
NULL
FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK
WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key
AND INS_K.ins_kenmerk_niveau = 'D'
AND INS_K.ins_srtinstallatie_key IS NULL;
CREATE_VIEW(ins_v_srtdeel_kenmerkdeel, INS_BIBLIOTHEEK_PRIVILEGE)
(ins_kenmerk_key,
ins_srtkenmerk_key,
ins_kenmerk_niveau,
ins_kenmerk_verplicht,
ins_kenmerk_toonbaar,
ins_kenmerk_uniek,
ins_kenmerk_locatiekolom,
ins_kenmerk_volgnummer,
ins_srtkenmerk_omschrijving,
ins_srtkenmerk_dimensie,
ins_srtkenmerk_kenmerktype,
ins_srtkenmerk_lengte,
ins_srtkenmerk_dec,
ins_srtkenmerk_nmin,
ins_srtkenmerk_nmax,
ins_refsrtkenmerk_key,
ins_srtdeel_key,
ins_srtgroep_key,
ins_discipline_key,
ins_kenmerkdeel_key,
ins_deel_key,
ins_kenmerkdeel_waarde) AS
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
INS_KD.ins_kenmerkdeel_key,
INS_D.ins_deel_key,
INS_KD.ins_kenmerkdeel_waarde
FROM ins_v_aanwezigdeel INS_D,
ins_kenmerkdeel INS_KD,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_deel_key = INS_KD.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND INS_SDK.ins_kenmerk_key = INS_KD.ins_kenmerk_key
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
INS_D.ins_deel_key,
NULL
FROM ins_v_aanwezigdeel INS_D,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND NOT EXISTS (SELECT INS_KD.ins_deel_key
FROM ins_kenmerkdeel INS_KD
WHERE INS_KD.ins_deel_key = INS_D.ins_deel_key
AND INS_KD.ins_kenmerk_key = INS_SDK.ins_kenmerk_key)
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
NULL
FROM ins_v_srtdeel_kenmerk INS_SDK;
DEF_FAC_MESSAGE ('INS_M188', 'Het locatie gebonden veld komt niet voor in de referentie tabel/view.');
DEF_FAC_MESSAGE ('INS_M189', 'Het referentieveld voor locatiegebonden moet ingevuld worden.');
DEF_FAC_MESSAGE ('INS_M190', 'Binnen een Locatie en Deelsoort is dit kenmerk niet uniek.');
DEF_FAC_MESSAGE ('INS_M191', 'Toevoegen/wijzigen unieke kenmerkwaarde %1% niet mogelijk bij meerdere objecten.');
DEF_FAC_MESSAGE ('INS_M192', 'De waarde "%1%" bestaat al voor het unieke kenmerk %2%.');
DEF_FAC_MESSAGE ('INS_M193', 'U hebt niet genoeg rechten om deze functie te gebruiken.');
DEF_FAC_MESSAGE ('INS_KENMERK_LOCATIEGEBONDEN', 'Locatie gebonden');
DEF_FAC_ENTITY ('INS_KENMERK_UNIEK', 'Uniek', null, null);
CREATE_TRIGGER(ins_t_ins_deel_B_IU)
BEFORE INSERT OR UPDATE ON ins_deel
FOR EACH ROW
BEGIN
-- LET OP : Deze trigger is ook gedefinieerd in RES !!
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper);
-- Indien verplaatsing of verwijdering of reincarnatie dan alleen vanuit de
-- CAD-omgeving, d.i. als tegelijk ins_deel_getekend een nieuwe waarde krijgt.
-- Dus een foutmelding als dit niet zo is.
CHECK_CADMUTATIE2(ins_deel_verwijder, ins_deel_getekend, ins_alg_ruimte_key, 'ins_m187');
IF :new.ins_deel_parent_key IS NULL
THEN
DECLARE
Dummy BOOLEAN;
BEGIN
--Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_VERWIJDER', :new.ins_deel_key);
Dummy := fac_p_fac_save_restore.SavePrimaryKeyAndDate('INS_DEEL_VERWIJDER', :new.ins_deel_key, :old.ins_deel_verwijder);
END;
END IF;
IF :new.ins_deel_verwijder IS NOT NULL
THEN
DECLARE
Dummy BOOLEAN;
BEGIN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_ONTKOPPEL', :new.ins_deel_key);
END;
END IF;
-- Vul het veld INS_DISCIPLINE van het huidige deel.
IF :old.ins_srtdeel_key IS NULL
OR :old.ins_srtdeel_key <> :new.ins_srtdeel_key
OR :old.ins_discipline_key IS NULL
THEN
BEGIN
SELECT INS_D.ins_discipline_key
INTO :new.ins_discipline_key
FROM ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, ins_tab_discipline INS_D
WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN :new.ins_discipline_key := NULL;
END;
END IF;
-- Zoek de (redundante) alg_locatie_key erbij indien verplaatst.
IF :old.ins_alg_ruimte_key IS NULL
OR :old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :new.ins_alg_locatie_key IS NULL
THEN
BEGIN
SELECT alg_locatie_key
INTO :new.ins_alg_locatie_key
FROM ins_v_alg_overzicht
WHERE alg_onroerendgoed_keys = :new.ins_alg_ruimte_key
AND alg_onroerendgoed_type = :new.ins_alg_ruimte_type;
EXCEPTION
WHEN NO_DATA_FOUND
THEN :new.ins_alg_locatie_key := NULL;
END;
END IF;
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte, verdieping, gebouw of terreinsector.
* Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
* (met 'R' of 'V' of 'G' of 'T').
* Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
* nieuw record geinsert wordt.
*
*
* IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar
* als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek
* gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed
* ingevuld zijn (met 'R' of 'W').
*
* IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar
* INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden.
* INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het
* veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A').
* AH 05-06-96 Nu kunnen biede velden ingevuld zijn.
*/
IF :new.ins_deel_module = 'INS'
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
THEN
IF :new.ins_alg_ruimte_type = 'W' /* 990218/BIV - #2251 - Deel kan ook op werkplek worden geplaatst */
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek , prs_werkplek_key , :new.ins_alg_ruimte_key, 'ins_m174');
ELSIF :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 = '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;
DECLARE
Dummy BOOLEAN;
BEGIN
-- Alleen bestaande delen hebben mogelijk te verplaatsen onderdelen.
IF :old.ins_deel_aanmaak IS NOT NULL
AND :new.ins_deel_parent_key IS NULL
THEN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_CASCADE', :new.ins_deel_key);
END IF;
END;
END IF;
UPDATE_AANMAAKDATUM(ins_deel, ins_deel_aanmaak);
END;
/
CREATE_TRIGGER(ins_t_ins_deel_S_A_IU)
AFTER UPDATE ON ins_deel
BEGIN
DECLARE
IndexNr NUMBER;
PrimaryKey NUMBER(10);
Dummy BOOLEAN;
lNested NUMBER;
lCount NUMBER;
deletemode DATE;
old_datum_of_deel DATE;
BEGIN
-- We controleren of we zijn aangeroepen vanuit onszelf. Ook al hebben we daarbij
-- geen keys aan fac_selectie toegevoegd, die van het hoogste niveau staan er, en
-- die moeten we niet weer vanaf nummer 1 gaan behandelen, anders zitten we echt
-- in een oneindige loop.
-- We krijgen hier geen mee, omdat we geen onderdelen van onderdelen kennen.
lNested := fac_p_fac_save_restore.GetPrimaryKey('INS_TRIGGER_BUSY', 1);
IF lNested IS NULL
THEN
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_VERWIJDER', IndexNr);
old_datum_of_deel := fac_p_fac_save_restore.GetDate('INS_DEEL_VERWIJDER', PrimaryKey);
WHILE PrimaryKey IS NOT NULL
LOOP
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_TRIGGER_BUSY', 1);
/* Jammer maar helaas, vanwege syntaxredenen moeten we weten of we met UNDO te maken hebben
/* Als parent is verwijderd, dan is deletemode gevuld met zijn datum */
/* Als parent terug wordt gehaald, dan is delete-mode gevuld met NULL ( betekent FALSE) */
SELECT ins_deel_verwijder
INTO deletemode
FROM ins_deel
WHERE ins_deel_key = PrimaryKey;
IF deletemode IS NULL /* Het deel wordt terug gehaald (UNDO) */
THEN
UPDATE ins_deel
SET ins_deel_verwijder = NULL /* Bijbehorende onderdelen ook terughalen */
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder = old_datum_of_deel;
ELSE
/* Het deel wordt (of beter: is) verwijderd */
UPDATE ins_deel
SET ins_deel_verwijder = deletemode /* Alle AANWEZIGE onderdelen verwijderen */
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
END IF;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_TRIGGER_BUSY');
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_VERWIJDER', IndexNr);
old_datum_of_deel := fac_p_fac_save_restore.GetDate('INS_DEEL_VERWIJDER', PrimaryKey);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_VERWIJDER');
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_CASCADE', IndexNr);
WHILE PrimaryKey IS NOT NULL
LOOP
-- Om weer te voorkomen dat de BEFORE STATEMENT trigger onnodig vuurt, controleren
-- we eerst of het statement wel nodig is, d.i. of er onderdelen zijn die nog
-- verplaatst moeten worden.
SELECT COUNT(*)
INTO lCount
FROM ins_deel
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
IF lCount > 0
THEN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_TRIGGER_BUSY', 1);
UPDATE ins_deel
SET (ins_alg_ruimte_key
, ins_alg_ruimte_type
, ins_alg_locatie_key) = (SELECT ins_alg_ruimte_key
, ins_alg_ruimte_type
, ins_alg_locatie_key
FROM ins_deel
WHERE ins_deel_key = PrimaryKey)
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_TRIGGER_BUSY');
END IF;
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_CASCADE', IndexNr);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_CASCADE');
ELSE
NULL;
END IF; -- lNested
END;
-- Add statements that need execution even when nested here:
--
-- Attentie: Alle koppelingen met delen uit de selectie worden verwijderd. Doordat deze
-- selectie tijdens deze transactie groter kan worden door de bijbehorende onderdelen, wordt
-- mogelijkerwijs vaker ins_p_delete_deelkoppeling() aangeroepen dan strikt nodig is (de reeds
-- aanwezige keys blijven oon staan). Dit is niet echt een probleem in de huidige context, maar
-- kan dat worden als die functie veel tijd kost ook al is er niks te doen.
DECLARE
IndexNr NUMBER;
PrimaryKey NUMBER(10);
Dummy BOOLEAN;
BEGIN
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_ONTKOPPEL', IndexNr);
WHILE PrimaryKey IS NOT NULL
LOOP
Dummy := ins_p_delete_deelkoppeling(PrimaryKey);
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_ONTKOPPEL', IndexNr);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_ONTKOPPEL');
END;
END;
/
#endif // INS
#ifdef FAC
/* Module onafhankelijk: */
DEF_FAC_ENTITY ('MENU_ALGEMEEN' , 'Algemeen', NULL, NULL, 'General');
DEF_FAC_ENTITY ('MENU_ALG_AUTORISATIE' , 'Autorisatie', NULL, NULL, 'Authorization');
DEF_FAC_ENTITY ('MENU_STOP' , 'Stoppen', NULL, NULL, 'Quit');
DEF_FAC_ENTITY ('MENU_REGISTRATIE' , 'Registratie', NULL, NULL, 'Registration');
DEF_FAC_ENTITY ('MENU_BIBLIOTHEEK' , 'Bibliotheek', NULL, NULL, 'Library');
DEF_FAC_ENTITY ('MENU_PRS_RUIMTEGEBR' , 'Ruimtegebruik', NULL, NULL, 'Room usage');
DEF_FAC_ENTITY ('MENU_PRS_BEDRIJF' , 'Bedrijf', NULL, NULL, 'Company');
DEF_FAC_ENTITY ('MENU_HELP_INHOUD' , 'Inhoud', NULL, NULL, 'Contents');
DEF_FAC_ENTITY ('MENU_HELP_OVER' , 'Over' , NULL, NULL, 'About');
DEF_FAC_ENTITY ('MENU_MLD_KOSTENPOST' , 'Kostenpost', NULL, NULL, 'C'||CHR(38)||'osts category');
DEF_FAC_ENTITY ('MENU_MLD_ADRES' , 'Adresgegevens', NULL, NULL,'Addresses');
DEF_FAC_ENTITY ('MENU_MLD_BESTEL' , 'Bestelorder', NULL, NULL,'Order '||CHR(38)||'receipt');
DEF_FAC_ENTITY ('MENU_MLD_EXPORT' , 'Exporteren', NULL, NULL, 'Export');
DEF_FAC_ENTITY ('MENU_KENMERK' , 'Kenmerken' ,NULL, NULL,'Properties');
DEF_FAC_ENTITY ('MENU_FAC_GEBRUIKERS' , 'LAN-Gebruikers', NULL, NULL, 'LAN users');
DEF_FAC_ENTITY ('MENU_FAC_WEBUSERS' , 'WEB-Gebruikers', NULL, NULL, 'WEB users');
DEF_FAC_MESSAGE ('FAC_M044', 'Weet u zeker dat u wilt stoppen ?', 'Are you sure you want to quit?');
DEF_FAC_MESSAGE ('MENU_MLD_OPDR2' ,'Standaard opdracht','Standard order');
ALTER TABLE fac_usrdata DROP CONSTRAINT fac_u_fac_usrdata_upper;
ALTER TABLE fac_usrdata ADD CONSTRAINT fac_u_fac_usrdata_upper UNIQUE(fac_usrdata_upper,fac_usrtab_key,fac_usrdata_verwijder);
CREATE INDEX fac_i_fac_gebruiker3 ON fac_gebruiker(fac_functie_key);
CREATE INDEX fac_i_fac_gebruiker4 ON fac_gebruiker(fac_gebruiker_username,fac_gebruiker_kolom,fac_gebruiker_module);
DEF_FAC_ENTITY ('FAC_PRINTER_EMAIL', 'E-mail', NULL, NULL);
DEF_FAC_ENTITY ('FAC_PRINTER_EMAILADDRESS','E-mail adres', NULL, NULL);
DEF_FAC_MESSAGE ('FAC_M042', 'E-mail adres is niet ingevuld.');
DEF_FAC_MESSAGE ('FAC_M043', 'Fout opgetreden tijdens het opstarten van het E-mail programma.');
ALTER TABLE fac_selectie ADD fac_selectie_datum DATE;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 3.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 3.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Copyright (c) 1996-2000, Facilitor Software Nederland bv'
WHERE FAC_MESSAGE_CODE = 'FAC_M005';
CREATE OR REPLACE PACKAGE fac_p_fac_save_restore AS
-- Maak de vorige selectie van de tabel en de huidige sessie leeg.
FUNCTION ResetSelectie( TableName IN VARCHAR2 ) RETURN BOOLEAN;
-- Onthou de primary key van de tabel en de huidige sessie.
FUNCTION SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN BOOLEAN;
-- Geef de nth primary key van de tabel en de huidige sessie. IndexNr begint met 1.
FUNCTION GetPrimaryKey( TableName IN VARCHAR2, IndexNr IN NUMBER ) RETURN NUMBER;
-- Onthou naast Primary key ook de datum i.v.m. een eventuele UNDO vanuit AutoCAD.
FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Datum IN Date ) RETURN BOOLEAN;
-- Geef verwijderdatum of NULL terug van primary key i.v.m. eventuele UNDO vanuit AutoCAD.
FUNCTION GetDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN DATE;
PRAGMA RESTRICT_REFERENCES (GetPrimaryKey,WNDS, WNPS);
END fac_p_fac_save_restore;
/
CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
FUNCTION GetSessionId RETURN VARCHAR2 IS
SessionId VARCHAR2(20);
BEGIN
SELECT USERENV('SESSIONID')
INTO SessionId
FROM DUAL;
RETURN SessionId;
END;
FUNCTION ResetSelectie( TableName IN VARCHAR2 ) RETURN BOOLEAN IS
SessionId VARCHAR2(20);
BEGIN
SessionId := GetSessionId;
DELETE FROM fac_selectie
WHERE fac_selectie_node = SessionId
AND fac_selectie_tabel = TableName;
RETURN TRUE;
EXCEPTION
WHEN OTHERS
THEN RETURN FALSE;
END;
FUNCTION SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN BOOLEAN IS
SessionId VARCHAR2(20);
BEGIN
SessionId := GetSessionId;
INSERT INTO fac_selectie (fac_selectie_node,
fac_selectie_tabel,
fac_selectie_key)
VALUES (SessionId, TableName, PrimaryKey);
RETURN TRUE;
EXCEPTION
WHEN OTHERS
THEN RETURN FALSE;
END;
-- Geef de nth Fac_Selectie_Key van de geselecteerde records
-- terug. IndexNr begint met 1.
FUNCTION GetPrimaryKey( TableName IN VARCHAR2, IndexNr IN NUMBER ) RETURN NUMBER IS
SessionId VARCHAR2(20);
CURSOR Selectie IS SELECT DISTINCT fac_selectie_key
FROM fac_selectie
WHERE fac_selectie_node = SessionId
AND fac_selectie_tabel = TableName
ORDER BY fac_selectie_key;
SelectieRec Selectie%ROWTYPE;
TmpIndex NUMBER;
ReturnKey NUMBER(10);
BEGIN
SessionId := GetSessionId;
ReturnKey := NULL;
TmpIndex := 1;
FOR SelectieRec IN Selectie
LOOP
IF IndexNr = TmpIndex
THEN
ReturnKey := SelectieRec.fac_selectie_key;
EXIT;
END IF;
TmpIndex := TmpIndex + 1;
END LOOP;
RETURN ReturnKey;
END;
FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Datum IN Date ) RETURN BOOLEAN IS
SessionId VARCHAR2(20);
BEGIN
SessionId := GetSessionId;
INSERT INTO fac_selectie (fac_selectie_node,
fac_selectie_tabel,
fac_selectie_key,
fac_selectie_datum)
VALUES (SessionId, TableName, PrimaryKey, Datum);
RETURN TRUE;
EXCEPTION
WHEN OTHERS
THEN RETURN FALSE;
END;
FUNCTION GetDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN DATE IS
SessionId VARCHAR2(20);
ReturnDate Date;
CURSOR Selectie IS SELECT DISTINCT fac_selectie_datum
FROM fac_selectie
WHERE fac_selectie_node = SessionId
AND fac_selectie_key = PrimaryKey
AND fac_selectie_tabel = TableName;
SelectieRec Selectie%ROWTYPE;
TmpIndex NUMBER;
ReturnKey NUMBER(10);
BEGIN
SessionId := GetSessionId;
ReturnDate := NULL;
FOR SelectieRec IN Selectie
LOOP
ReturnDate := SelectieRec.fac_selectie_datum;
EXIT;
END LOOP;
RETURN ReturnDate;
END;
END fac_p_fac_save_restore;
/
#endif // FAC
#ifdef RES
ALTER TABLE res_alg_ruimte DROP CONSTRAINT res_u_alg_ruimte_key;
ALTER TABLE res_alg_ruimte ADD CONSTRAINT res_u_alg_ruimte_key
UNIQUE(res_ruimte_key, alg_ruimte_key,res_alg_ruimte_verwijder);
#endif // RES
#ifdef MLD
ALTER TABLE mld_stdmelding MODIFY (mld_stdmelding_uitvoertijd NUMBER(3));
#endif // MLD

File diff suppressed because it is too large Load Diff

View File

@@ -1,954 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.00 naar 4.10
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.00 naar 04.10
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.00 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $400TO410.SQL
PROMPT SPOOL $400TO410.LST;
UPDMOD(FAC,400TO410)
UPDMOD(ALG,400TO410)
UPDMOD(PRS,400TO410)
UPDMOD(INS,400TO410)
UPDMOD(MLD,400TO410)
UPDMOD(CAD,400TO410)
UPDMOD(AKZ,400TO410)
UPDMOD(PRJ,400TO410)
UPDMOD(RES,400TO410)
UPDMOD(SCH,400TO410)
UPDMOD(SLE,400TO410)
UPDATE_VERSION('04.10');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $400TO410.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
#ifdef ALG
ALTER TABLE alg_terreinsector
ADD
(
alg_terreinsector_ordernr
VARCHAR2(6)
);
INSERT INTO alg_kenmerk(alg_kenmerk_key, alg_kenmerk_niveau, alg_kenmerk_omschrijving,
alg_kenmerk_kenmerktype, alg_kenmerk_systeem, alg_kenmerk_lengte)
VALUES (1, 'G', 'Ordernr.', 'C', 1, 6);
CREATE INDEX alg_i_alg_ruimte4 on alg_ruimte(alg_verdieping_key,alg_ruimte_key, alg_ruimte_upper_nr, alg_ruimte_nr);
#endif // ALG
#ifdef INS
CREATE_VIEW(ALL_discipline, INS_BIBLIOTHEEK_PRIVILEGE)
AS
SELECT INS_TD.* FROM fac_gebruiker FAC_G, ins_tab_discipline INS_TD
WHERE INS_TD.ins_discipline_key = FAC_G.fac_gebruiker_kolomkey
AND FAC_G.fac_gebruiker_tabel = 'INS_DISCIPLINE'
AND FAC_G.fac_gebruiker_kolom = 'INS_DISCIPLINE_KEY'
AND FAC_G.fac_gebruiker_module = INS_TD.ins_discipline_module
AND FAC_G.fac_gebruiker_username = USER;
DEF_FAC_MESSAGE ('INS_M202', 'Verwijderen niet toegestaan.', 'Er zijn nog meldingen bij dit object.','Delete not allowed. There are Calls referencing this object.');
#endif // INS
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.10'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.1'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Copyright (c) 1996-2001, Facilitor Software Nederland bv'
WHERE FAC_MESSAGE_CODE = 'FAC_M005';
DEF_FAC_ENTITY ('FAC_PRINTER_EXCEL','Excel',null,null,'Excel');
DEF_FAC_ENTITY ('FAC_PRINTER_BEGINDATUM','Van',null,null,'From');
DEF_FAC_ENTITY ('FAC_PRINTER_EINDDATUM','Tot' ,null,null,'Untill');
DEF_FAC_ENTITY ('FAC_PRINTER_PERIODE','Periode',null,null,'Period');
DEF_FAC_ENTITY ('FAC_KOPIE','Kopie',null,null,'Copy');
DEF_FAC_ENTITY ('ALG_LOCATIECODE','Locatiecode',null,null,'Location code');
DEF_FAC_ENTITY ('MLD_VERDIEPING/RUIMTE','Bouwlaag/Ruimte',null,null,'Floor/Room');
DEF_FAC_ENTITY ('MLD_KOSTENPOST2','Budget',null,null,'Costs category');
DEF_FAC_ENTITY ('MLD_MELDDATUM','Melddatum',null,null,'Call date');
DEF_FAC_ENTITY ('MLD_PLAATSSERVICE' ,'Plaats service',null,null,'Place service');
DEF_FAC_ENTITY ('MLD_AANTALUREN','Aantal uren',null,null,'Number of hours');
DEF_FAC_ENTITY ('MLD_UURTARIEF','Uurtarief',null,null,'Hourly rate');
DEF_FAC_ENTITY ('MLD_LOONKOSTEN','Loonkosten',null,null,'Wages');
DEF_FAC_ENTITY ('MLD_DEELOPDRACHT','Deelopdracht',null,null,'Part. order');
DEF_FAC_MESSAGE ('FAC_M045', 'Begindatum moet worden ingevuld.','Startdate has to be entered.');
DEF_FAC_MESSAGE ('FAC_M046', 'Einddatum moet worden ingevuld.','Enddate has to be entered.');
DEF_FAC_MESSAGE ('FAC_M047', 'Excel moet geinstalleerd zijn om deze functie te kunnen gebruiken','To use this function Excel must be installed.');
DEF_FAC_MESSAGE ('FAC_M048', 'Aanmaken van view %1% is niet gelukt.','Create view %1% did not succeed.');
DEF_FAC_MESSAGE ('FAC_M049', 'Verwijderen van view %1% is niet gelukt.','Delete view %1% did not succeed.');
DEF_FAC_MESSAGE ('FAC_M050', 'Geen %1% kolom aangetroffen in %2%.','No such column %1% exists in %2%.');
DEF_FAC_MESSAGE ('FAC_M051', 'Record %1% wordt aangemaakt.','Creating record %1%.');
DEF_FAC_MESSAGE ('FAC_M052', 'Totaal kolom: %1%.','Total column: %1%.');
DEF_FAC_MESSAGE ('FAC_M053', 'Record %1% wordt geexporteerd.','Exporting record %1%.');
DEF_FAC_MESSAGE ('MLD_BESTEL/VOLGNR' ,'Bestel/volgnummer','Order/sequencenumber');
DEF_FAC_MESSAGE ('MLD_HERKENNINGSTEKST' ,'Herkenningstekst','Standardtext');
DEF_FAC_MESSAGE ('MLD_BETREKKINGOP' ,'Heeft betrekking op','Involves');
ALTER TABLE fac_usrrap
ADD (fac_usrrap_template VARCHAR2(32) DEFAULT NULL
,fac_usrrap_macro VARCHAR2(32) DEFAULT NULL
,fac_usrrap_vraagbegindatum NUMBER(1) DEFAULT 0
,fac_usrrap_vraageinddatum NUMBER(1) DEFAULT 0
,fac_usrrap_functie NUMBER(1) DEFAULT 0
,fac_usrrap_info VARCHAR2(100));
CREATE INDEX fac_i_fac_selectie1 ON fac_selectie(fac_selectie_node,fac_selectie_tabel);
#endif // FAC
#ifdef PRS
DEF_FAC_MESSAGE ('PRS_M177', 'Verwijderen Domein ','Delete Domain ');
DEF_FAC_MESSAGE ('PRS_M178', 'Domein %1% is nog in gebruik.','Domain %1% is in use.');
INSERT INTO prs_srtperslid(prs_srtperslid_omschrijving) VALUES ('Onbekend');
INSERT INTO prs_perslid(prs_perslid_key,prs_perslid_module, prs_perslid_naam, prs_srtperslid_key)
SELECT 0, 'PRS', 'Onbekend', prs_srtperslid_key
FROM prs_srtperslid
WHERE prs_srtperslid_upper = 'ONBEKEND';
UPDATE fac_entity_name
SET fac_entity_user_name = 'Bedrijven '
WHERE fac_entity_system_name = 'MENU_PRS_BEDRIJF';
ALTER TABLE prs_werkplek
DROP CONSTRAINT prs_r_prs_alg_ruimte_key2;
COMMIT;
#endif // PRS
#ifdef MLD
ALTER TABLE mld_meldbron
ADD
(
mld_meldbron_default
NUMBER(1)
);
DEFINIEER_VIEW_AANWEZIG(mld_meldbron,
mld_meldbron_verwijder,
mld_v_aanwezigmeldbron,
MLD_BIBLIOTHEEK_PRIVILEGE);
ALTER TABLE mld_melding
ADD
(
mld_melding_geaccepteerd_user
VARCHAR2(30),
mld_melding_melder_telefoon
VARCHAR2(15),
mld_melding_melder_plaats
VARCHAR2(35)
);
ALTER TABLE mld_melding
ADD
(
prs_perslid_key
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key)
);
CREATE_TABLE(mld_melding_object, MLD_NORMAAL_PRIVILEGE)
(
mld_melding_object_key
NUMBER(10)
CONSTRAINT mld_k_mld_object_key PRIMARY KEY,
mld_melding_key
NUMBER(10)
NOT_NULL(mld_melding_key, mld_c_mld_melding_key),
ins_deel_key
NUMBER(10)
CONSTRAINT mld_r_ins_deel_key1 REFERENCES ins_deel(ins_deel_key),
mld_melding_object_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mld_melding_object_aanmaak, mld_c_mld_object_aanmaak),
mld_melding_object_verwijder
DATE
DEFAULT NULLDATUM
);
CREATE SEQUENCE mld_s_mld_object_key MINVALUE 1;
CREATE_TRIGGER(mld_t_mld_mld_object_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding_object
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_object_key, mld_s_mld_object_key);
END;
/
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
IF :new.prs_perslid_key IS NULL
THEN
raise_application_error(-20000, 'mld_m233');
END IF;
IF :new.prs_afdeling_key IS NULL
THEN
raise_application_error(-20000, 'mld_m234');
END IF;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_geaccepteerd IS NOT NULL AND :old.mld_melding_geaccepteerd IS NULL
THEN
SELECT USER INTO :new.mld_melding_geaccepteerd_user
FROM DUAL;
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
END;
/
CREATE_TRIGGER(mld_t_mld_opdr_B_IU)
BEFORE INSERT OR UPDATE ON mld_opdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_opdr_key, mld_s_mld_opdr_key);
/* Controleer of de opdracht bij een melding hoort die de goede status heeft,
* namelijk: GEACCEPTEERD of AFGEMELD (minimaal GEACCEPTEERD),
* anders mag de opdracht niet toegevoegd of gewijzigd worden.
*/
DECLARE
Dummy CHAR;
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_melding
WHERE mld_melding_key = :new.mld_melding_key
AND mld_melding_geaccepteerd IS NOT NULL
AND mld_melding_verwerkt IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN APPLICATION_ERROR(-20000, 'mld_m201');
END;
CHECK_REFERENCE_UITVOERENDE(mld_uitvoerende_keys, 'mld_m37');
/* UPDATE van ALG_KOSTENPOST verplaatst naar MLD117/Bewaren.
IF NOT :new.mld_alg_kostenpost_key IS NULL
AND :new.mld_opdr_module = 'MLD'
THEN
DECLARE
dummy NUMBER(10);
BEGIN
SELECT mld_statusopdr_key
INTO dummy
FROM mld_statusopdr
WHERE mld_statusopdr_omschrijving = 'Verwerkt'
AND mld_statusopdr_key = :new.mld_statusopdr_key;
UPDATE alg_kostenpost
SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0)
+ :new.mld_opdr_kosten - NVL(:old.mld_opdr_kosten, 0)
WHERE alg_kostenpost_key = :new.mld_alg_kostenpost_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
END;
END IF;
*/
/* Onthou de MLD_MELDING_KY voor het aanpassen van de status van de melding. */
DECLARE
Dummy BOOLEAN;
BEGIN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('MLD_MELDING', :new.mld_melding_key);
END;
/* Bepaal het nieuwe bedrijfopdr_volgnr voor de huidige opdracht
* Doe dit alleen als de vorige waarde leeg was, anders wordt de oude waarde
* overschreven.
*/
/* Het bepalen van het BedrijfOpdrVolgnr moet in het form zelf gebeuren vlak voor de gegevens
* worden vastgelegd. Omdat de aan te roepen procedure weer van de huidige tabel gebruik maakt
* krijgt men de foutmelding "mld_opdr is mutating, trigger/function may not see it.". Dit treedt
* op als men de uitvoerende van persoon naar bedrijf wijzigd.
*
* IF :old.mld_opdr_bedrijfopdr_volgnr IS NULL
* THEN
* :new.mld_opdr_bedrijfopdr_volgnr := MLD_P_BepaalBedrijfOpdrVolgnr(:new.mld_uitvoerende_keys);
* END IF;
*/
END;
/
DEFINIEER_VIEW_AANWEZIG(mld_melding_object, mld_melding_object_verwijder,
mld_v_aanwezigmelding_object,MLD_NORMAAL_PRIVILEGE);
CREATE_VIEW(mld_v_openmelding_gegevens, MLD_NORMAAL_PRIVILEGE)
AS
SELECT * FROM mld_melding
WHERE mld_melding_afgemeld IS NULL
AND mld_melding_verwerkt IS NULL
MINUS
SELECT * FROM mld_melding
WHERE mld_melding_afgewezen IS NOT NULL;
CREATE_VIEW(mld_v_mld_melding_gegevens,MLD_NORMAAL_PRIVILEGE)
(mld_melding_key,
mld_melding_datum,
mld_melding_module,
mld_meldbron_key,
mld_oorzaak_key,
mld_stdmelding_key,
mld_melding_omschrijving,
mld_melding_username,
mld_melding_melder_naam,
mld_melding_uitvoertijd,
mld_melding_ordernr,
mld_kosten_klant,
ins_discipline_key,
ins_srtgroep_key,
ins_srtdeel_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key,
alg_terreinsector_key) AS
SELECT MLD_M.mld_melding_key,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_module,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_omschrijving,
MLD_M.mld_melding_username,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_melding_uitvoertijd,
MLD_M.mld_melding_ordernr,
MLD_M.mld_kosten_klant,
MLD_M.mld_ins_discipline_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
MLD_M.mld_alg_locatie_key,
ALG_O.alg_gebouw_key,
ALG_O.alg_verdieping_key,
ALG_O.alg_ruimte_key,
ALG_O.alg_terreinsector_key
FROM mld_melding MLD_M,
alg_v_onroerendgoed ALG_O
WHERE MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys;
/
CREATE_VIEW(MLD_discipline, MLD_BIBLIOTHEEK_PRIVILEGE)
AS
SELECT * FROM ALL_discipline WHERE ins_discipline_module = 'MLD';
INSERT INTO mld_meldbron(mld_meldbron_omschrijving) VALUES ('Telefoon');
INSERT INTO mld_meldbron(mld_meldbron_omschrijving) VALUES ('Fax');
INSERT INTO mld_meldbron(mld_meldbron_omschrijving) VALUES ('E-mail');
INSERT INTO mld_meldbron(mld_meldbron_omschrijving) VALUES ('Internet');
INSERT INTO mld_meldbron(mld_meldbron_omschrijving) VALUES ('System');
COMMIT;
DEF_FAC_ENTITY ('MLD_KOSTENKLANT' ,'Kosten klant' ,null,null,'Customer costs');
DEF_FAC_ENTITY ('MLD_KOSTENSU' ,'Kosten SU' ,null,null,'Service unit costs');
DEF_FAC_ENTITY ('MLD_KOSTENSOORT' , 'Kostensoort' , 'Kostensoorten', 'de','Cost type');
DEF_FAC_MESSAGE ('MLD_M215', 'Controle Herkenningstekst - Ruimte', 'Check Standardtext - Room');
DEF_FAC_MESSAGE ('MLD_M216', 'Openstaande melding gevonden m.b.t. deze herkennningstekst en deze ruimte.', 'Outstanding call(s) found for this Standardtext and this Room.');
DEF_FAC_MESSAGE ('MLD_M217', 'Controle Objecten', 'Check Objects');
DEF_FAC_MESSAGE ('MLD_M218', 'Openstaande melding gevonden m.b.t. de gekozen objecten.', 'Outstanding call(s) found for the selected objects.');
DEF_FAC_MESSAGE ('MLD_M219', 'Verwijderen melding objectsoort', 'Delete call object type');
DEF_FAC_MESSAGE ('MLD_M220', 'Verwijderen melding objectsoort', 'Delete call object type');
DEF_FAC_MESSAGE ('MLD_M221', 'Verwijderen melding object', 'Delete call object');
DEF_FAC_MESSAGE ('MLD_M222', 'Verwijderen melding object', 'Delete call object');
DEF_FAC_MESSAGE ('MLD_M223', 'Controle contract' , 'Check Contract');
DEF_FAC_MESSAGE ('MLD_M224', 'Het contractnummer is niet ingevuld.', 'Number of Contract is empty.');
DEF_FAC_MESSAGE ('MLD_M225', 'LET OP : Doorlooptijd van de opdracht overschrijdt de einddatum van de melding.' ,'PLEASE NOTE : Enddate of order is greater than enddate of the Call.');
DEF_FAC_MESSAGE ('MLD_M226', 'Opnemen in historie t.b.v. preventief onderhoud.', 'Log history on behalve of preventive maintance.');
DEF_FAC_MESSAGE ('MLD_M227', 'Meldingen bij object', 'Calls by object');
DEF_FAC_MESSAGE ('MLD_M228', 'Preventief', 'Preventive Maintenance');
DEF_FAC_MESSAGE ('MLD_M229', 'Meldingsdatum van een storing mag niet in de toekomst liggen', 'Date of technical malfunction cannot be in the future');
DEF_FAC_MESSAGE ('MLD_M230', 'Meldingsdatum preventieve melding mag niet in het verleden liggen', 'Date of preventive maintenance can not be in the past');
DEF_FAC_MESSAGE ('MLD_M231', 'Preventief (Beperkt met selectie)','Call Preventive maintenance (restricted selection)');
DEF_FAC_MESSAGE ('MLD_M232', 'Ongeldige meldernaam opgegeven.', 'Invalid Name entered.');
DEF_FAC_MESSAGE ('MLD_M233', 'Naam van de melder is niet ingevuld.', 'Name has not been entered.');
DEF_FAC_MESSAGE ('MLD_M234', 'De Afdeling is niet ingevuld.', 'Department has not been entered.');
DEF_FAC_MESSAGE ('MENU_MLD_PREVENTIEF' , 'Preventief ', 'Preventive Maintenance');
DEF_FAC_MESSAGE ('MELDING_DOCUMENT','Formulier', 'Request form');
DEF_FAC_MESSAGE ('mld_c_mld_melding_key', 'Referentie naar de melding is niet ingevuld.', 'Reference to Call has not been entered.');
DEF_FAC_MESSAGE ('mld_c_mld_deel_hist_aanmaak', 'Aanmaakdatum is niet gevuld.', 'Date has not been entered.');
DEF_FAC_MESSAGE ('PRS_AFDELING_BU_KSTNPLTS', 'Business Unit/Kostenplaats', 'Business Unit/*Kostenplaats*');
DEF_FAC_MESSAGE ('MLD_MELDBRON_DEFAULT', 'Default meldbron', 'Default call source');
-- Term kostenpost vervangen door ordernummer...
UPDATE FAC_ENTITY_NAME
SET FAC_ENTITY_USER_NAME = 'B'||CHR(38)||'udgetten'
WHERE FAC_ENTITY_SYSTEM_NAME = 'MENU_MLD_KOSTENPOST';
UPDATE FAC_ENTITY_NAME
SET FAC_ENTITY_USER_NAME = 'Budget',
FAC_ENTITY_USER_NAME_M = 'Budgetten'
WHERE FAC_ENTITY_SYSTEM_NAME = 'MLD_KOSTENPOST';
-- Trigger hier geplaatst opdat deze gebruikt maakt van de hierboven
-- gedefinieerde view mld_v_aanwezigmelding_object
CREATE_TRIGGER(ins_t_ins_deel_B_IU)
BEFORE INSERT OR UPDATE ON ins_deel
FOR EACH ROW
BEGIN
-- LET OP : Deze trigger is ook gedefinieerd in RES !!
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper);
-- Indien verplaatsing of verwijdering of reincarnatie dan alleen vanuit de
-- CAD-omgeving, d.i. als tegelijk ins_deel_getekend een nieuwe waarde krijgt.
-- Dus een foutmelding als dit niet zo is.
CHECK_CADMUTATIE2(ins_deel_verwijder, ins_deel_getekend, ins_alg_ruimte_key, 'ins_m187');
IF :new.ins_deel_parent_key IS NULL
THEN
DECLARE
Dummy BOOLEAN;
BEGIN
--Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_VERWIJDER', :new.ins_deel_key);
Dummy := fac_p_fac_save_restore.SavePrimaryKeyAndDate('INS_DEEL_VERWIJDER', :new.ins_deel_key, :old.ins_deel_verwijder);
END;
END IF;
IF :new.ins_deel_verwijder IS NOT NULL
THEN
DECLARE
Dummy BOOLEAN;
Dummy2 CHAR;
BEGIN
BEGIN
SELECT 'x'
INTO dummy2
FROM mld_v_aanwezigmelding_object O, mld_melding M
WHERE O.ins_deel_key = :old.ins_deel_key
AND O.mld_melding_key = M.mld_melding_key
AND EXISTS
(SELECT '' FROM mld_melding
WHERE mld_melding_afgemeld IS NULL
AND mld_melding_verwerkt IS NULL
AND mld_melding_key = M.mld_melding_key
MINUS
SELECT '' FROM mld_melding
WHERE mld_melding_afgewezen IS NOT NULL
AND mld_melding_key = M.mld_melding_key);
raise_application_error(-20000,'ins_m202');
EXCEPTION
WHEN NO_DATA_FOUND THEN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_ONTKOPPEL', :new.ins_deel_key);
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'ins_m202');
END;
END;
END IF;
-- Vul het veld INS_DISCIPLINE van het huidige deel.
IF :old.ins_srtdeel_key IS NULL
OR :old.ins_srtdeel_key <> :new.ins_srtdeel_key
OR :old.ins_discipline_key IS NULL
THEN
BEGIN
SELECT INS_D.ins_discipline_key
INTO :new.ins_discipline_key
FROM ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, ins_tab_discipline INS_D
WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN :new.ins_discipline_key := NULL;
END;
END IF;
-- Zoek de (redundante) alg_locatie_key erbij indien verplaatst.
IF :old.ins_alg_ruimte_key IS NULL
OR :old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :new.ins_alg_locatie_key IS NULL
THEN
IF :new.ins_alg_ruimte_type IN ('A','P')
THEN
NULL;
ELSE
BEGIN
SELECT alg_locatie_key
INTO :new.ins_alg_locatie_key
FROM ins_v_alg_overzicht
WHERE alg_onroerendgoed_keys = :new.ins_alg_ruimte_key
AND alg_onroerendgoed_type = :new.ins_alg_ruimte_type;
EXCEPTION
WHEN NO_DATA_FOUND
THEN :new.ins_alg_locatie_key := NULL;
END;
END IF;
END IF;
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte, verdieping, gebouw of terreinsector.
* Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
* (met 'R' of 'V' of 'G' of 'T' of 'A' of 'P').
* 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 beide 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 :old.ins_alg_ruimte_type IN ('W','R','T')
AND :old.ins_deel_getekend IS NOT NULL
AND :new.ins_alg_ruimte_type IN ('A','P')
THEN
APPLICATION_ERROR(-20000, 'ins_m196');
END IF;
IF :new.ins_alg_ruimte_type = 'W' /* 990218/BIV - #2251 - Deel kan ook op werkplek worden geplaatst */
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek , prs_werkplek_key , :new.ins_alg_ruimte_key, 'ins_m174');
ELSIF :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 = 'T'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, :new.ins_alg_ruimte_key, 'ins_m095');
ELSIF :new.ins_alg_ruimte_type = 'A'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling , prs_afdeling_key , :new.ins_alg_ruimte_key, 'ins_m194');
ELSIF :new.ins_alg_ruimte_type = 'P'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigperslid , prs_perslid_key , :new.ins_alg_ruimte_key, 'ins_m195');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
DECLARE
Dummy BOOLEAN;
BEGIN
-- Alleen bestaande delen hebben mogelijk te verplaatsen onderdelen.
IF :old.ins_deel_aanmaak IS NOT NULL
AND :new.ins_deel_parent_key IS NULL
THEN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_CASCADE', :new.ins_deel_key);
END IF;
END;
END IF;
UPDATE_AANMAAKDATUM(ins_deel, ins_deel_aanmaak);
END;
/
CREATE_VIEW(mld_v_mld_opdrachtgeprint,MLD_NORMAAL_PRIVILEGE)
( MLD_OPDRACHT_KEY
, MLD_OPDRACHT_GEPRINT
, MLD_OPDRACHT_OMSCHRIJVING
, MLD_OPDR_BEDRIJFOPDR_VOLGNR
, MLD_OPDR_CONTACTPERSOON
, MLD_OPDR_UREN
, MLD_OPDR_UURLOON
, MLD_OPDR_KOSTEN
, MLD_OPDR_MATERIAAL
, MLD_OPDR_KOSTENPOST
, MLD_MELDING_KEY
, MLD_MELDING_USERNAME
, PRS_PERSLID_NR
, MLD_MELDING_MELDER_NAAM -- Naam van persoon die de melding gedaan heeft.
, PRS_PERSLID_TELEFOONNR --
, PRS_PERSLID_GEBOUW_CODE --
, PRS_PERSLID_VERD_RUIMTE --
, PRS_AFDELING_NAAM -- Naam van de afdeling waartoe de persoon behoort die de melding heeft gedaan.
, ALG_LOCATIE_CODE
, ALG_GEBOUW_OMSCHRIJVING
, ALG_VERDIEPING_OMSCHRIJVING
, ALG_RUIMTE_OMSCHRIJVING
, ALG_TERREINVAK_OMSCHRIJVING
, MLD_STDMELDING_OMSCHRIJVING
, MLD_MELDING_OMSCHRIJVING
, MLD_MELDING_DATUM
, MLD_MELDING_UITVOERTIJD
, PRS_BEDRIJF_NAAM -- Naam van uitvoerende bedrijf of afdeling.
, PRS_BEDRIJF_POST_ADRES -- Postadres van uitvoerende bedrijf.
, PRS_BEDRIJF_POST_PLAATS -- Postcode en plaats van postadres uitvoerende bedrijf.
, PRS_BEDRIJF_CONTACTPERSOON -- Naam van contactpersoon van uitvoerende bedrijf of afdeling.
, PRS_BEDRIJF_TELEFOON -- Telefoonnr van contactpersoon van uitvoerende bedrijf of afdeling.
, PRS_OVEREENKOMST_NR )
AS SELECT MLD_O.mld_opdr_key
, MLD_O.mld_opdr_geprint
, MLD_O.mld_opdr_omschrijving
, MLD_O.mld_opdr_bedrijfopdr_volgnr
, MLD_O.mld_opdr_contactpersoon
, MLD_O.mld_opdr_uren
, MLD_O.mld_opdr_uurloon
, MLD_O.mld_opdr_kosten
, MLD_O.mld_opdr_materiaal
, ALG_K.alg_kostenpost_omschrijving
, MLD_M.mld_melding_key
, MLD_M.mld_melding_username
, MLD_P.prs_perslid_nr
, MLD_M.mld_melding_melder_naam
, MLD_P.prs_perslid_telefoonnr
, MLD_P.alg_gebouw_code
, TO_CHAR(MLD_P.alg_verdieping_volgnr)||'-'||MLD_P.alg_ruimte_nr
, PRS_A.prs_afdeling_omschrijving
, ALG_L.alg_locatie_code
, rtrim(ALG_G.alg_gebouw_code)||'-'||ALG_G.alg_gebouw_naam
, rtrim(TO_CHAR(ALG_G.alg_verdieping_volgnr))||'-'||ALG_G.alg_verdieping_omschrijving
, rtrim(ALG_G.alg_ruimte_nr)||'-'||ALG_G.alg_ruimte_omschrijving
, decode(alg_type,'T',rtrim(alg_terreinsector_code)||'-'||ALG_G.alg_onroerendgoed_omschrijving,'-')
, MLD_S.mld_stdmelding_omschrijving
, MLD_M.mld_melding_omschrijving
, MLD_M.mld_melding_datum
, MLD_M.mld_melding_uitvoertijd
, NVL(PRS_B.prs_bedrijf_naam,MLD_P.prs_afdeling_naam)
, PRS_B.prs_bedrijf_post_adres
, decode(PRS_B.prs_bedrijf_post_postcode,null,null,PRS_B.prs_bedrijf_post_postcode||' ')||PRS_B.prs_bedrijf_post_plaats
, NVL(PRS_B.prs_bedrijf_contact_persoon,MLD_P.prs_perslid_naam)
, NVL(PRS_B.prs_bedrijf_contact_telefoon,MLD_P.prs_perslid_telefoonnr)
, PRS_B.prs_overeenkomst_nr
FROM mld_opdr MLD_O
, mld_melding MLD_M
, mld_meldbron MLD_B
, ins_tab_discipline INS_D
, alg_locatie ALG_L
, mld_stdmelding MLD_S
, alg_v_onroerendgoed_gegevens ALG_G
, mld_v_mld_perslid_gegevens MLD_P
, prs_bedrijf PRS_B
, prs_afdeling PRS_A
, alg_kostenpost ALG_K
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_G.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_S.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_B.mld_meldbron_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key (+)
AND MLD_O.mld_uitvoerende_keys = MLD_P.prs_perslid_key (+)
AND MLD_O.mld_alg_kostenpost_key = ALG_K.alg_kostenpost_key (+)
AND MLD_M.prs_afdeling_key = PRS_A.prs_afdeling_key (+);
#endif // MLD
#ifdef CAD
#endif // CAD
#ifdef AKZ
CREATE_VIEW(akz_v_mld_meldingprint, NORMAAL_PRIVILEGE)
( mld_melding_key
, mld_melding_geprint
, mld_melding_username
, prs_perslid_nr
, mld_melding_melder_naam
, prs_perslid_telefoonnr
, prs_perslid_gebouw_code
, prs_perslid_verd_ruimte
, prs_afdeling_naam
, alg_locatie_code
, alg_gebouw_omschrijving
, alg_verdieping_omschrijving
, alg_ruimte_omschrijving
, alg_terreinsector_omschrijving
, ins_discipline_omschrijving
, mld_stdmelding_omschrijving
, mld_melding_omschrijving
, mld_melding_opmerking
, mld_melding_datum
, mld_melding_uitvoertijd
, mld_melding_levertijd
, mld_melding_ordernr
)
AS
SELECT MLD_M.mld_melding_key,
MLD_M.mld_melding_geprint,
MLD_M.mld_melding_username,
AKZ_PG.prs_perslid_nr,
MLD_M.mld_melding_melder_naam,
AKZ_PG.prs_perslid_telefoonnr,
AKZ_PG.alg_gebouw_code,
TO_CHAR(AKZ_PG.alg_verdieping_volgnr)||'-'||AKZ_PG.alg_ruimte_nr,
AKZ_PG.prs_afdeling_naam,
ALG_L.alg_locatie_code,
rtrim(ALG_OG.alg_gebouw_code)||'-'||ALG_OG.alg_gebouw_naam,
rtrim(TO_CHAR(ALG_OG.alg_verdieping_volgnr))||'-'||ALG_OG.alg_verdieping_omschrijving,
rtrim(ALG_OG.alg_ruimte_nr)||'-'||ALG_OG.alg_ruimte_omschrijving,
decode(alg_type,'T',rtrim(alg_terreinsector_code)||'-'||ALG_OG.alg_onroerendgoed_omschrijving,'-'),
INS_D.ins_discipline_omschrijving,
MLD_SM.mld_stdmelding_omschrijving,
MLD_M.mld_melding_omschrijving,
MLD_M.mld_melding_opmerking,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
0,
MLD_M.mld_melding_ordernr
FROM mld_melding MLD_M,
mld_meldbron MLD_MB,
mld_stdmelding MLD_SM,
ins_tab_discipline INS_D,
alg_locatie ALG_L,
alg_v_allonrgoed_gegevens ALG_OG,
akz_v_mld_perslid_gegevens AKZ_PG
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_OG.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_MB.mld_meldbron_key
AND UPPER(MLD_M.mld_melding_melder_naam) = AKZ_PG.prs_perslid_upper (+)
/
CREATE_VIEW(akz_v_mld_opdrachtgeprint, NORMAAL_PRIVILEGE)
( mld_opdracht_key
, mld_opdracht_geprint
, mld_opdracht_omschrijving
, mld_opdr_bedrijfopdr_volgnr
, mld_opdr_contactpersoon
, mld_opdr_uren
, mld_opdr_uurloon
, mld_opdr_kosten
, mld_opdr_materiaal
, mld_melding_key
, mld_melding_username
, prs_perslid_nr
, mld_melding_melder_naam
, prs_perslid_telefoonnr
, prs_perslid_gebouw_code
, prs_perslid_verd_ruimte
, prs_afdeling_naam
, prs_afdeling_eenheid
, prs_afdeling_kostenplaats
, alg_locatie_code
, alg_gebouw_omschrijving
, alg_verdieping_omschrijving
, alg_ruimte_omschrijving
, alg_terreinvak_omschrijving
, mld_stdmelding_omschrijving
, mld_melding_omschrijving
, mld_melding_datum
, mld_melding_uitvoertijd
, mld_melding_ordernr
, prs_bedrijf_naam
, prs_bedrijf_post_adres
, prs_bedrijf_post_plaats
, prs_overeenkomst_nr
)
AS
SELECT MLD_O.mld_opdr_key,
MLD_O.mld_opdr_geprint,
MLD_O.mld_opdr_omschrijving,
MLD_O.mld_opdr_bedrijfopdr_volgnr,
MLD_O.mld_opdr_contactpersoon,
MLD_O.mld_opdr_uren,
MLD_O.mld_opdr_uurloon,
MLD_O.mld_opdr_kosten,
MLD_O.mld_opdr_materiaal,
MLD_M.mld_melding_key,
MLD_M.mld_melding_username,
AKZ_PG.prs_perslid_nr,
MLD_M.mld_melding_melder_naam,
AKZ_PG.prs_perslid_telefoonnr,
AKZ_PG.alg_gebouw_code,
TO_CHAR(AKZ_PG.alg_verdieping_volgnr)||'-'||AKZ_PG.alg_ruimte_nr,
AKZ_PG.prs_afdeling_naam,
AKZ_PG.prs_afdeling_eenheid,
AKZ_PG.prs_afdeling_kostenplaats,
ALG_L.alg_locatie_code,
rtrim(ALG_OG.alg_gebouw_code)||'-'||ALG_OG.alg_gebouw_naam,
rtrim(TO_CHAR(ALG_OG.alg_verdieping_volgnr))||'-'||ALG_OG.alg_verdieping_omschrijving,
rtrim(ALG_OG.alg_ruimte_nr)||'-'||ALG_OG.alg_ruimte_omschrijving,
decode(alg_type,'T',rtrim(alg_terreinsector_code)||'-'||ALG_OG.alg_onroerendgoed_omschrijving,'-'),
MLD_SM.mld_stdmelding_omschrijving,
MLD_M.mld_melding_omschrijving,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
MLD_M.mld_melding_ordernr,
PRS_B.prs_bedrijf_naam,
PRS_B.prs_bedrijf_post_adres,
PRS_B.prs_bedrijf_post_plaats,
PRS_B.prs_overeenkomst_nr
FROM mld_opdr MLD_O,
mld_melding MLD_M,
mld_meldbron MLD_MB,
ins_tab_discipline INS_D,
alg_locatie ALG_L,
mld_stdmelding MLD_SM,
alg_v_allonrgoed_gegevens ALG_OG,
akz_v_mld_perslid_gegevens AKZ_PG,
prs_bedrijf PRS_B
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_OG.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_MB.mld_meldbron_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key
AND UPPER(MLD_M.mld_melding_melder_naam) = AKZ_PG.prs_perslid_upper (+)
/
#endif //AKZ
#ifdef PRJ
/* Als is mag muteren, moet ik soms de sequences kunnen zien */
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
#endif // PRJ
#ifdef RES
ALTER TABLE res_reservering ADD (res_reservering_opmerking VARCHAR2(320));
/* Als ik mag kijken, mag ik ook functies aanroepen */
SELECT 'GRANT execute ON RES TO '||USER||'_RES_SMALL_ROLE;'
FROM dual;
/* Als is mag muteren, moet ik soms de sequences kunnen zien */
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
#endif // RES

View File

@@ -1,629 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.10 naar 4.11
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.10 naar 04.11
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.10 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $410TO411.SQL
PROMPT SPOOL $410TO411.LST;
UPDMOD(FAC,410TO411)
UPDMOD(ALG,410TO411)
UPDMOD(PRS,410TO411)
UPDMOD(INS,410TO411)
UPDMOD(MLD,410TO411)
UPDMOD(CAD,410TO411)
UPDMOD(AKZ,410TO411)
UPDMOD(PRJ,410TO411)
UPDMOD(RES,410TO411)
UPDMOD(SCH,410TO411)
UPDMOD(SLE,410TO411)
UPDATE_VERSION('04.11');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $410TO411.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
#ifdef INS
DEF_FAC_MESSAGE ('INS_M203', 'Kopieren object','Copy object');
DEF_FAC_MESSAGE ('INS_M204', 'Kopieren geselecteerde objecten','Copy selected objects');
CREATE_TRIGGER(ins_t_ins_deel_S_A_IU)
AFTER UPDATE ON ins_deel
BEGIN
DECLARE
IndexNr NUMBER;
PrimaryKey NUMBER(10);
Dummy BOOLEAN;
lNested NUMBER;
lCount NUMBER;
deletemode DATE;
old_datum_of_deel DATE;
BEGIN
-- We controleren of we zijn aangeroepen vanuit onszelf. Ook al hebben we daarbij
-- geen keys aan fac_selectie toegevoegd, die van het hoogste niveau staan er, en
-- die moeten we niet weer vanaf nummer 1 gaan behandelen, anders zitten we echt
-- in een oneindige loop.
-- We krijgen hier geen mee, omdat we geen onderdelen van onderdelen kennen.
lNested := fac_p_fac_save_restore.GetPrimaryKey('INS_TRIGGER_BUSY', 1);
IF lNested IS NULL
THEN
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_VERWIJDER', IndexNr);
old_datum_of_deel := fac_p_fac_save_restore.GetDate('INS_DEEL_VERWIJDER', PrimaryKey);
WHILE PrimaryKey IS NOT NULL
LOOP
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_TRIGGER_BUSY', 1);
/* Jammer maar helaas, vanwege syntaxredenen moeten we weten of we met UNDO te maken hebben
/* Als parent is verwijderd, dan is deletemode gevuld met zijn datum */
/* Als parent terug wordt gehaald, dan is delete-mode gevuld met NULL ( betekent FALSE) */
SELECT ins_deel_verwijder
INTO deletemode
FROM ins_deel
WHERE ins_deel_key = PrimaryKey;
IF deletemode IS NULL /* Het deel wordt terug gehaald (UNDO) */
THEN
UPDATE ins_deel
SET ins_deel_verwijder = NULL /* Bijbehorende onderdelen ook terughalen */
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder = old_datum_of_deel;
ELSE
/* Het deel wordt (of beter: is) verwijderd */
--
-- Als dit object als kenmerk in een ander object wordt gebruikt
-- mag dit object niet worden verwijderd.
--
DECLARE
v_referentie VARCHAR2(100);
BEGIN
BEGIN
SELECT D.ins_deel_omschrijving
INTO v_referentie
FROM ins_deel D
, ins_kenmerkdeel KD
, ins_kenmerk K
, ins_srtkenmerk SK
, ins_refsrtkenmerk RS
WHERE D.ins_deel_verwijder IS NULL
AND RS.ins_refsrtkenmerk_kolomnaam = 'INS_DEEL_KEY'
AND RS.ins_refsrtkenmerk_key = SK.ins_refsrtkenmerk_key
AND SK.ins_srtkenmerk_key = K.ins_srtkenmerk_key
AND K.ins_kenmerk_key = KD.ins_kenmerk_key
AND KD.ins_deel_key = D.ins_deel_key
AND KD.ins_kenmerkdeel_waarde IN (SELECT to_char(PrimaryKey)
FROM dual
UNION
SELECT to_char(ins_deel_key)
FROM ins_deel
WHERE ins_deel_parent_key = PrimaryKey);
EXCEPTION
WHEN NO_DATA_FOUND THEN v_referentie := null;
WHEN TOO_MANY_ROWS THEN v_referentie := 'X';
END;
--
IF v_referentie IS NOT NULL
THEN
-- Dit object of een van zijn onderdelen wordt dus als referentie in een ander object gebruikt.
-- Draai het verwijderen terug.
UPDATE ins_deel
SET ins_deel_verwijder = null
WHERE ins_deel_key = PrimaryKey;
raise_application_error(-20000,'ins_m202');
ELSE
-- Dit object of een van zijn onderdelen wordt niet als referentie naar een ander object gebruikt.
-- De onderdelen mogen nu ook verwijderd worden.
UPDATE ins_deel
SET ins_deel_verwijder = deletemode /* Alle AANWEZIGE onderdelen verwijderen */
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
END IF;
END;
END IF;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_TRIGGER_BUSY');
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_VERWIJDER', IndexNr);
old_datum_of_deel := fac_p_fac_save_restore.GetDate('INS_DEEL_VERWIJDER', PrimaryKey);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_VERWIJDER');
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_CASCADE', IndexNr);
WHILE PrimaryKey IS NOT NULL
LOOP
-- Om weer te voorkomen dat de BEFORE STATEMENT trigger onnodig vuurt, controleren
-- we eerst of het statement wel nodig is, d.i. of er onderdelen zijn die nog
-- verplaatst moeten worden.
SELECT COUNT(*)
INTO lCount
FROM ins_deel
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
IF lCount > 0
THEN
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_TRIGGER_BUSY', 1);
UPDATE ins_deel
SET (ins_alg_ruimte_key
, ins_alg_ruimte_type
, ins_alg_locatie_key) = (SELECT ins_alg_ruimte_key
, ins_alg_ruimte_type
, ins_alg_locatie_key
FROM ins_deel
WHERE ins_deel_key = PrimaryKey)
WHERE ins_deel.ins_deel_parent_key = PrimaryKey
AND ins_deel.ins_deel_verwijder IS NULL;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_TRIGGER_BUSY');
END IF;
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_CASCADE', IndexNr);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_CASCADE');
ELSE
NULL;
END IF; -- lNested
END;
-- Add statements that need execution even when nested here:
--
-- Attentie: Alle koppelingen met delen uit de selectie worden verwijderd. Doordat deze
-- selectie tijdens deze transactie groter kan worden door de bijbehorende onderdelen, wordt
-- mogelijkerwijs vaker ins_p_delete_deelkoppeling() aangeroepen dan strikt nodig is (de reeds
-- aanwezige keys blijven oon staan). Dit is niet echt een probleem in de huidige context, maar
-- kan dat worden als die functie veel tijd kost ook al is er niks te doen.
DECLARE
IndexNr NUMBER;
PrimaryKey NUMBER(10);
Dummy BOOLEAN;
BEGIN
IndexNr := 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_ONTKOPPEL', IndexNr);
WHILE PrimaryKey IS NOT NULL
LOOP
Dummy := ins_p_delete_deelkoppeling(PrimaryKey);
IndexNr := IndexNr + 1;
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('INS_DEEL_ONTKOPPEL', IndexNr);
END LOOP;
Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL_ONTKOPPEL');
END;
END;
/
#endif // INS
#ifdef MLD
DEF_FAC_MESSAGE ('MLD_M235', 'Bestand %1% niet gevonden.', 'File %1% not found.');
DEF_FAC_MESSAGE ('MLD_M236', 'Wilt u een opdracht aanmaken bij deze melding?','Create an order for this call?');
DEF_FAC_ENTITY ('MLD_MELDING_ACCEPTEREN','Accepteren',null,null,'Accept');
DEF_FAC_ENTITY ('MLD_MELDING_AFWIJZEN','Afwijzen',null,null,'Reject');
CREATE OR REPLACE FUNCTION MLD_F_Bereken_Urgentie(MODULE CHAR, status_opdr NUMBER, datum_begin DATE,
datum_uitgevoerd DATE, aantal_dagen NUMBER) RETURN NUMBER IS
verwerkt_key NUMBER(10);
afgemeld_key NUMBER(10);
datum DATE;
BEGIN
-- verwerkt_key := bepaal_statusopdr_key(get_fac_entity_user('MLD_STATUSOPDR_VERWERKT'));
SELECT mld_statusopdr_key INTO verwerkt_key FROM MLD_STATUSOPDR
WHERE mld_statusopdr_upper = 'MLD_VERWERKT';
-- afgemeld_key := bepaal_statusopdr_key(get_fac_entity_user('MLD_STATUSOPDR_AFGEMELD'));
SELECT mld_statusopdr_key INTO afgemeld_key FROM MLD_STATUSOPDR
WHERE mld_statusopdr_upper = 'MLD_AFGEMELD';
IF status_opdr = verwerkt_key OR status_opdr = afgemeld_key
THEN
RETURN 0;
ELSE
datum := SYSDATE;
END IF;
RETURN ROUND(((TRUNC(datum) - TRUNC(datum_begin))/aantal_dagen) * 100, 0);
END;
/
DROP FUNCTION MLD_P_BepaalBedrijfOpdrVolgnr;
CREATE OR REPLACE FUNCTION MLD_F_BepaalOpdrMeldingVolgnr(MeldingKey IN NUMBER) RETURN NUMBER IS
ReturnVal NUMBER;
BEGIN
SELECT nvl(max(mld_opdr_bedrijfopdr_volgnr),0) + 1
INTO ReturnVal
FROM mld_opdr
WHERE mld_melding_key = MeldingKey;
RETURN ReturnVal;
END;
/
CREATE OR REPLACE PACKAGE MLD_P_MLD_DATUMTIJD AS
FUNCTION DatumTijdPlusUitvoerTijd(BeginDatum IN DATE
,UitvoerTijd IN NUMBER
,UitvoerTijdType IN VARCHAR) RETURN DATE;
END mld_p_mld_datumtijd;
/
CREATE OR REPLACE PACKAGE BODY MLD_P_MLD_DATUMTIJD AS
BeginWerkTijd DATE := TO_DATE('08:00', 'HH24:MI');
EindWerkTijd DATE := TO_DATE('17:00', 'HH24:MI');
BeginWerkUur NUMBER(4,2) := TO_NUMBER(TO_CHAR(BeginWerkTijd, 'HH24.MI'));
EindWerkUur NUMBER(4,2) := TO_NUMBER(TO_CHAR(EindWerkTijd, 'HH24.MI'));
AantalWerkUren NUMBER(4,2) := EindWerkUur - BeginWerkUur;
/*
** Bepaal een nieuwe datum van de begindatum waarbij de uitvoertijd is
** opgeteld. De uitvoertijd (UitvoerTijdType) kan in 'UREN' of in 'DAGEN' zijn.
** Er wordt rekening gehouden met Werkuren, BeginWerkTijd en EindWerkTijd en
** Weekenddagen (Zondag = 1, Zaterdag = 7) en Vrije dagen (MLD_VRIJE_DAGEN).
*/
FUNCTION DatumTijdPlusUitvoerTijd(BeginDatum IN DATE
,UitvoerTijd IN NUMBER
,UitvoerTijdType IN VARCHAR) RETURN DATE IS
OldDatumGereed DATE;
NewDatumGereed DATE;
DagVdWeek NUMBER(3,0);
VrijeDagen NUMBER(3,0);
AantalWerkweken NUMBER(3,0);
AantalDagen NUMBER(3,0);
AantaLDagenOver NUMBER(3,0);
BeginUur NUMBER(5,2);
EindUur NUMBER(5,2);
NewUitvoerTijd NUMBER(5,2);
BeginWerkNr NUMBER(5,2);
EindeWerkNr NUMBER(5,2);
WerkUrenNr NUMBER(5,2);
BeginUurNr NUMBER(5,2);
UitvoerNr NUMBER(5,2);
EindUurNr NUMBER(5,2);
NewUitvoerNr NUMBER(5,2);
ReturnVal DATE;
BEGIN
IF UitvoerTijd IS NOT NULL
AND BeginDatum IS NOT NULL
AND UitvoerTijdType = 'DAGEN'
THEN
OldDatumGereed := BeginDatum;
NewDatumGereed := OldDatumGereed;
AantalWerkweken := TRUNC(UitvoerTijd / 5);
AantalDagenOver := UitvoerTijd MOD 5;
NewDatumGereed := NewDatumGereed + (AantalWerkweken * 7);
SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D'))
INTO DagVdWeek
FROM DUAL;
NewDatumGereed := NewDatumGereed + AantalDagenOver;
IF DagVdWeek + AantalDagenOver > 8
THEN
NewDatumGereed := NewDatumGereed + 2;
END IF;
LOOP
SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D'))
INTO DagVdWeek
FROM DUAL;
IF DagVdWeek = 1 OR DagVdWeek = 7
THEN
NewDatumGereed := NewDatumGereed + 2;
END IF;
SELECT COUNT(*)
INTO VrijeDagen
FROM mld_vrije_dagen
WHERE mld_vrije_dagen_datum > OldDatumGereed
AND mld_vrije_dagen_datum <= NewDatumGereed;
IF VrijeDagen > 0
THEN
OldDatumGereed := NewDatumGereed;
NewDatumGereed := NewDatumGereed + VrijeDagen;
END IF;
IF DagVdWeek > 1 AND DagVdWeek < 7
AND VrijeDagen = 0
THEN
EXIT;
END IF;
END LOOP;
ReturnVal := NewDatumGereed;
ELSIF UitvoerTijd IS NOT NULL
AND BeginDatum IS NOT NULL
AND UitvoerTijdType = 'UREN'
THEN
/*
** Zet eerst alle tijden om in decimalen. Hiermee kan dan normaal gerekend worden
** zonder dat er rekening moet worden gehouden dat 60 minuten weer een uur is.
*/
BeginUur := TO_NUMBER(TO_CHAR(BeginDatum, 'HH24.MI'));
BeginWerkNr := TRUNC(BeginWerkUur) + (BeginWerkUur - TRUNC(BeginWerkUur))/0.6;
EindeWerkNr := TRUNC(EindWerkUur) + (EindWerkUur - TRUNC(EindWerkUur ))/0.6;
BeginUurNr := TRUNC(BeginUur) + (BeginUur - TRUNC(BeginUur ))/0.6;
UitvoerNr := TRUNC(UitvoerTijd) + (UitvoerTijd - TRUNC(UitvoerTijd ))/0.6;
WerkUrenNr := EindeWerkNr - BeginWerkNr;
EindUurNr := BeginUurNr + UitvoerNr;
AantalDagen := 0;
--
IF EindUurNr > EindeWerkNr
THEN
AantalDagen := TRUNC(EindUurNr / WerkUrenNr);
EindUurNr := EindUurNr - AantalDagen * WerkUrenNr;
END IF;
EindUur := TRUNC(EindUurNr) + (EindUurNr - TRUNC(EindUurNr))*0.6;
/*
** Bij de onderstaande omzetting van decimaal naar datum kan de foutmelding
** "ORA-01850: hour must be between 0 and 23" optreden. Onderzoek dan of de
** initialisatie-procedure SetWerkTijden(..,..) wel wordt aangeroepen in een
** PL/SQL-blok (van form of script) voordat de functie DatumTijdPlusUitvoerTijd
** wordt aangeroepen (bijvoorbeeld in view mld_v_mld_openmelding).
**
** Eventuele verbetering hierin: Indien geen begin en eindtijd van werkdag bekend,
** dan 0:00 en 23:59 nemen, waardoor een werkdag 24 uur wordt. Kan dus gebruikt
** worden voor bedrijven waar continu gewerkt wordt.
*/
IF AantalDagen > 0
THEN
OldDatumGereed := TO_DATE(TO_CHAR(TRUNC(BeginDatum), 'DD-MM-YYYY')||' '
|| TO_CHAR(EindUur, '09.99'), 'DD-MM-YYYY HH24.MI');
ReturnVal := DatumTijdPlusUitvoerTijd(OldDatumGereed, AantalDagen, 'DAGEN');
ELSE
ReturnVal := TO_DATE(TO_CHAR(TRUNC(BeginDatum), 'DD-MM-YYYY')||' '
|| TO_CHAR(EindUur, '09.99'), 'DD-MM-YYYY HH24.MI');
END IF;
ELSE
ReturnVal := NULL;
END IF;
/*
** Voor controle op juiste berekening van de einddatum en tijd.
** raise_application_error(-20000,'klaar op : '|| to_char(returnval,'dd-mm-yyyy hh24:mi'));
*/
RETURN ReturnVal;
END;
END mld_p_mld_datumtijd;
/
CREATE_VIEW(MLD_V_MLD_OPENMELDING, MLD_NORMAAL_PRIVILEGE)
( mld_melding_module
, mld_statussoort
, mld_melding_key
, mld_ins_discipline_key
, mld_ins_srtinst_keys
, mld_alg_onroerendgoed_keys
, mld_melding_datum
, mld_melding_melder_naam
, mld_meldbron_key
, mld_oorzaak_key
, mld_stdmelding_key
, mld_melding_ingezien
, mld_melding_afgewezen
, mld_melding_geaccepteerd
, mld_melding_afgemeld
, mld_melding_verwerkt
, mld_melding_uitvoertijd
)
AS
SELECT /*+ FIRST_ROWS */ 'MLD'
, DECODE(MLD_MELDING_VERWERKT,NULL,
DECODE(MLD_MELDING_AFGEMELD,NULL,
DECODE(MLD_MELDING_GEACCEPTEERD,NULL,
DECODE(MLD_MELDING_AFGEWEZEN,NULL,
DECODE(MLD_MELDING_INGEZIEN,NULL,'INGEVOERD','INGEZIEN'),'AFGEWEZEN'),'GEACCEPTEERD'),'AFGEMELD'),'VERWERKT'),
MLD_M.MLD_MELDING_KEY,
MLD_M.MLD_INS_DISCIPLINE_KEY,
MLD_M.MLD_INS_SRTINST_KEYS,
MLD_M.MLD_ALG_ONROERENDGOED_KEYS,
MLD_M.MLD_MELDING_DATUM,
MLD_M.MLD_MELDING_MELDER_NAAM,
MLD_M.MLD_MELDBRON_KEY,
MLD_M.MLD_OORZAAK_KEY,
MLD_M.MLD_STDMELDING_KEY,
MLD_M.MLD_MELDING_INGEZIEN,
MLD_M.MLD_MELDING_AFGEWEZEN,
MLD_M.MLD_MELDING_GEACCEPTEERD,
MLD_M.MLD_MELDING_AFGEMELD,
MLD_M.MLD_MELDING_VERWERKT,
MLD_M.MLD_MELDING_UITVOERTIJD
FROM MLD_MELDING MLD_M, MLD_DISCIPLINE MLD_D
WHERE MLD_D.INS_DISCIPLINE_KEY = MLD_M.MLD_INS_DISCIPLINE_KEY
/
CREATE_VIEW(MLD_V_MLD_OVERSCHREDEN, MLD_NORMAAL_PRIVILEGE)
( mld_melding_module
, mld_statussoort
, mld_melding_key
, mld_ins_discipline_key
, mld_ins_srtinst_keys
, mld_alg_onroerendgoed_keys
, mld_melding_datum
, mld_melding_melder_naam
, mld_meldbron_key
, mld_oorzaak_key
, mld_stdmelding_key
, mld_melding_ingezien
, mld_melding_afgewezen
, mld_melding_geaccepteerd
, mld_melding_afgemeld
, mld_melding_verwerkt
)
AS
SELECT /*+ FIRST_ROWS */ 'MLD',
'OVERSCHREDEN',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_stdmelding MLD_SM, mld_discipline MLD_D
WHERE SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_SM.mld_stdmelding_urgentie,
'UREN')
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NULL
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
/
CREATE_VIEW(MLD_V_MLD_TELAAT, MLD_NORMAAL_PRIVILEGE)
( mld_melding_module
, mld_statussoort
, mld_melding_key
, mld_ins_discipline_key
, mld_ins_srtinst_keys
, mld_alg_onroerendgoed_keys
, mld_melding_datum
, mld_melding_melder_naam
, mld_meldbron_key
, mld_oorzaak_key
, mld_stdmelding_key
, mld_melding_ingezien
, mld_melding_afgewezen
, mld_melding_geaccepteerd
, mld_melding_afgemeld
, mld_melding_verwerkt
)
AS
SELECT /*+ FIRST_ROWS */ 'MLD',
'TE_LAAT',
MLD_M.mld_melding_key,
MLD_M.mld_ins_discipline_key,
MLD_M.mld_ins_srtinst_keys,
MLD_M.mld_alg_onroerendgoed_keys,
MLD_M.mld_melding_datum,
MLD_M.mld_melding_melder_naam,
MLD_M.mld_meldbron_key,
MLD_M.mld_oorzaak_key,
MLD_M.mld_stdmelding_key,
MLD_M.mld_melding_ingezien,
MLD_M.mld_melding_afgewezen,
MLD_M.mld_melding_geaccepteerd,
MLD_M.mld_melding_afgemeld,
MLD_M.mld_melding_verwerkt
FROM mld_melding MLD_M, mld_discipline MLD_D
WHERE SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum,
MLD_M.mld_melding_uitvoertijd,
'DAGEN')
AND MLD_M.mld_melding_afgewezen IS NULL
AND MLD_M.mld_melding_geaccepteerd IS NOT NULL
AND MLD_M.mld_melding_afgemeld IS NULL
AND MLD_D.ins_discipline_key = MLD_M.mld_ins_discipline_key
/
DEF_FAC_MESSAGE ('MLD_M237','Wilt u deze melding opnieuw invoeren?','Do you want to reissue this call?')
/
#endif // MLD
#ifdef RES
DEF_FAC_MESSAGE ('res_r_prs_bedrijf_key1' , 'Er zijn nog referenties van bedrijven naar deze reserveerbare ruimte.' ,'This reservation room references a company.');
DEF_FAC_MESSAGE ('res_r_prs_afdeling_key1' , 'Er zijn nog referenties van afdelingen naar deze reserveerbare ruimte.' ,'This reservation room references a department.');
DEF_FAC_MESSAGE ('res_r_res_ruimte_key' , 'Er zijn nog referenties van reserveerbare ruimtes naar deze ruimte.' ,'This room references a reservation room.');
DEF_FAC_MESSAGE ('res_r_alg_ruimte_key' , 'Er zijn nog referenties van ruimtes naar deze ruimte.' ,'This room references a room.');
DEF_FAC_MESSAGE ('res_r_res_ruimte_key2' , 'Er zijn nog referenties van reserveerbare ruimtes naar deze ruimteopstelling.' ,'This room placing references a reservation room.');
DEF_FAC_MESSAGE ('res_r_res_ruimte_opstel_key' , 'Er zijn nog referenties van opstelling naar deze ruimteopstelling.' ,'This room placing references a placing.');
DEF_FAC_MESSAGE ('res_r_res_ins_deel_key' , 'Er zijn nog referenties van objecten naar dit reserveerbaar object.' ,'This reservation object references an object.');
DEF_FAC_MESSAGE ('res_r_prs_bedrijf_key2' , 'Er zijn nog referenties van bedrijven naar dit reserveerbaar artikel.' ,'This reservation item references companies.');
DEF_FAC_MESSAGE ('res_r_prs_afdeling_key2' , 'Er zijn nog referenties van afdelingen naar dit reserveerbaar artikel.' ,'This reservation item references departments.');
DEF_FAC_MESSAGE ('res_r_res_ruimte_key3' , 'Er zijn nog referenties van reserveerbare ruimtes naar deze reservering.' ,'This reservation references reservation rooms.');
DEF_FAC_MESSAGE ('res_r_alg_ruimte_key2' , 'Er zijn nog referenties van ruimtes naar deze reservering.' ,'This reservation references rooms.');
DEF_FAC_MESSAGE ('res_r_res_opstelling_key' , 'Er zijn nog referenties van opstellingen naar deze reservering.' ,'This reservation references placings.');
DEF_FAC_MESSAGE ('res_r_prs_perslid_key' , 'Er zijn nog referenties van personen naar deze reservering.' ,'This reservation references persons.');
DEF_FAC_MESSAGE ('res_r_res_reservering_key' , 'Er zijn nog referenties van reserveringen naar deze opdracht.' ,'This workorder references reservations.');
DEF_FAC_MESSAGE ('res_r_prs_bedrijf_key3' , 'Er zijn nog referenties van bedrijven naar deze opdracht.' ,'This workorder references companies.');
DEF_FAC_MESSAGE ('res_r_prs_afdeling_key3' , 'Er zijn nog referenties van afdelingen naar deze opdracht.' ,'This workorder references departments.');
DEF_FAC_MESSAGE ('res_r_ins_discipline_key' , 'Er zijn nog referenties van disciplines naar deze opdracht.' ,'This workorder references disciplines.');
DEF_FAC_MESSAGE ('res_r_res_rsvd_reservering_key', 'Er zijn nog referenties van reserveringen naar dit gereserveerd object.' ,'This reserved object references reservations.');
DEF_FAC_MESSAGE ('res_r_res_rsvd_deel_key' , 'Er zijn nog referenties van reserveerbare objecten naar dit gereserveerd object.','This reserved object references resevation objects.');
DEF_FAC_MESSAGE ('res_r_res_rsva_reservering_key', 'Er zijn nog referenties van reserveringen naar dit gereserveerd artikel.' ,'This reserved item references reservations.');
DEF_FAC_MESSAGE ('res_r_res_rsva_artikel_key' , 'Dit reserveerbare artikel heeft nog referenties naar gereserveerde artikelen.' ,'This reservation item references reserved items.');
#endif // RES
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.11'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.11'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
DEF_FAC_ENTITY ('MLD_BESTELNR','Bestelnummer',null,null,'Order number');
#endif // FAC

File diff suppressed because it is too large Load Diff

View File

@@ -1,488 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.12 naar 4.13
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.12 naar 04.13
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.12 (evt. 04.13) en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $412to413.SQL
PROMPT SPOOL $412to413.LST;
UPDMOD(FAC,412to413)
UPDMOD(ALG,412to413)
UPDMOD(PRS,412to413)
UPDMOD(INS,412to413)
UPDMOD(MLD,412to413)
UPDMOD(CAD,412to413)
UPDMOD(AKZ,412to413)
UPDMOD(PRJ,412to413)
UPDMOD(RES,412to413)
UPDMOD(SCH,412to413)
UPDMOD(SLE,412to413)
UPDMOD(WEB,412to413)
UPDATE_VERSION('04.13');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $412to413.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
#ifdef INS
DROP INDEX INS_I_INS_DISCIPLINE1;
create index ins_i_ins_discipline1
on ins_tab_discipline(ins_discipline_module, ins_discipline_omschrijving);
#endif // INS
#ifdef PRS
DEF_FAC_ENTITY ('PRS_PERSLID_LOGIN', 'Login naam', NULL, 'de','Login name');
ALTER TABLE prs_perslid ADD
(prs_perslid_oslogin
VARCHAR2(30));
CREATE_TRIGGER(prs_t_prs_perslid_B_IU)
BEFORE INSERT OR UPDATE ON prs_perslid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys);
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper);
UPDATE_UPPER(prs_perslid_initialen, prs_perslid_init_upper);
UPDATE_UPPER(prs_perslid_oslogin, prs_perslid_oslogin);
UPDATE_AANMAAKDATUM(prs_perslid, prs_perslid_aanmaak);
--
-- 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald.
--
-- 5/26/97/AH #1255, PRS_T_PRS_PERSLID_B_IU aangepast. De CASCADE-verwijderen van
-- PRS_PERSLIDWERKPLEK verplaatst naar PRS013/Verwijderen. In de trigger een
-- RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen.
--
CHECK_NOG_REFERENCES(prs_perslid, prs_perslid_verwijder
,prs_v_aanwezigperslidwerkplek, prs_perslid_key, 'prs_m174');
// Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en
// uitvoerende deze PERSLID.
IF :new.prs_perslid_verwijder IS NOT NULLDATUM
THEN
DECLARE
dummy VARCHAR2(1);
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_upper = 'MLD_UITGEGEVEN'
AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key;
APPLICATION_ERROR(-20000, 'prs_m085');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'prs_m085');
END;
END IF;
--
-- Persoon mag alleen verwijderd worden als deze geen objecten meer in het bezit heeft.
--
DECLARE
dummy VARCHAR2(1);
BEGIN
IF :new.prs_perslid_verwijder IS NOT NULL
THEN
SELECT 'x'
INTO dummy
FROM ins_deel
WHERE ins_deel_verwijder IS NULL
AND ins_alg_ruimte_type = 'P'
AND ins_alg_ruimte_key = :old.prs_perslid_key;
APPLICATION_ERROR(-20000,'prs_m175');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000,'prs_m175');
END;
END;
/
update prs_perslid
set prs_perslid_oslogin = prs_perslid_init_upper
where prs_perslid_oslogin is null;
commit;
-- Redefine views
DEFINIEER_VIEW_AANWEZIG(prs_perslid,
prs_perslid_verwijder,
prs_v_aanwezigperslid,
PRS_NORMAAL_PRIVILEGE) AND prs_perslid_module = 'PRS';
CREATE_VIEW(prs_v_perslid_gegevens,PRS_NORMAAL_PRIVILEGE) AS
SELECT PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam,
PRS_P.prs_perslid_upper,
PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_initialen,
PRS_P.prs_perslid_init_upper,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_telefoonnr,
PRS_P.prs_perslid_oslogin,
PRS_P.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper
FROM prs_v_aanwezigperslid PRS_P, prs_v_aanwezigafdeling PRS_A
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key (+);
#endif // PRS
#ifdef MLD
// Status Uitgegeven(7) is nieuw
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
IF :new.mld_melding_username IS NULL
THEN
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
END IF;
IF :new.prs_perslid_key IS NULL
THEN
raise_application_error(-20000, 'mld_m233');
END IF;
IF :new.prs_afdeling_key IS NULL
THEN
raise_application_error(-20000, 'mld_m234');
END IF;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_geaccepteerd IS NOT NULL
AND :old.mld_melding_geaccepteerd IS NULL
AND :new.mld_melding_geaccepteerd_user IS NULL
THEN
SELECT USER
INTO :new.mld_melding_geaccepteerd_user
FROM DUAL;
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
-- Update melding status
IF :new.MLD_MELDING_AFGEWEZEN is not null THEN :new.MLD_MELDING_STATUS := 1;
ELSIF :new.MLD_MELDING_VERWERKT is not null THEN :new.MLD_MELDING_STATUS := 6;
ELSIF :new.MLD_MELDING_AFGEMELD is not null THEN :new.MLD_MELDING_STATUS := 5;
ELSIF :new.MLD_MELDING_GEACCEPTEERD is not null THEN
DECLARE ord_num NUMBER;
BEGIN
SELECT count(*) INTO ord_num
FROM mld_opdr O
WHERE O.mld_melding_key = :new.mld_melding_key;
IF ord_num = 0 THEN
:new.MLD_MELDING_STATUS := 4;
ELSE
:new.MLD_MELDING_STATUS := 7;
END IF;
END;
ELSIF :new.MLD_MELDING_INGEZIEN is not null THEN :new.MLD_MELDING_STATUS := 3;
ELSE :new.MLD_MELDING_STATUS := 2;
END IF;
END;
/
INSERT INTO mld_statuses VALUES ( 7, 'Uitgegeven' );
UPDATE mld_melding SET mld_melding_key=mld_melding_key;
COMMIT;
CREATE_VIEW(mld_v_melding_status_gegevens,MLD_NORMAAL_PRIVILEGE) AS
SELECT M.mld_melding_key,
M.mld_melding_status,
S.mld_statuses_omschrijving,
DECODE(mld_melding_status,
1,mld_melding_afgewezen,
2,mld_melding_datum,
3,mld_melding_ingezien,
4,mld_melding_geaccepteerd,
5,mld_melding_afgemeld,
6,mld_melding_verwerkt,
7,mld_melding_geaccepteerd,
NULL) mld_melding_lastdate,
M.mld_melding_datum,
'['||MD.ins_discipline_omschrijving||'/'||SM.mld_stdmelding_omschrijving||'] '||m.mld_melding_omschrijving mld_melding_omschrijving,
AF.prs_afdeling_key,AF.prs_afdeling_omschrijving,
P.prs_perslid_key,P.prs_perslid_naam,
M.mld_alg_onroerendgoed_keys,
L.alg_locatie_code||
DECODE(G.alg_gebouw_code,NULL,'',' - '||G.alg_gebouw_code)||
DECODE(G.alg_verdieping_volgnr,NULL,'',' - '||G.alg_verdieping_volgnr)||
DECODE(G.alg_ruimte_nr,NULL,'',' - '||G.alg_ruimte_nr)||
DECODE(G.alg_terreinsector_code,NULL,'',' - '||G.alg_terreinsector_code) alg_plaats_omschrijving,
M.mld_stdmelding_key,
AF.prs_afdeling_eenheid,
M.mld_alg_locatie_key,
M.mld_melding_melder_naam,
AF.prs_afdeling_kostenplaats,
M.mld_ins_discipline_key,
P.prs_perslid_upper,
AF.prs_afdeling_upper,
M.mld_melding_username
FROM mld_melding M,
mld_statuses S,
mld_discipline MD,
mld_stdmelding SM,
prs_afdeling AF,
prs_perslid P,
alg_v_allonrgoed_gegevens G,
alg_locatie L
WHERE M.mld_melding_status=S.mld_statuses_key
AND M.mld_ins_discipline_key=MD.ins_discipline_key
AND M.mld_stdmelding_key=SM.mld_stdmelding_key
AND M.prs_afdeling_key=AF.prs_afdeling_key (+)
AND M.prs_perslid_key=P.prs_perslid_key (+)
AND M.mld_alg_locatie_key=L.alg_locatie_key (+)
AND M.mld_alg_onroerendgoed_keys=G.alg_onroerendgoed_keys (+)
;
#endif // MLD
#ifdef RES
drop index res_i_res_reservering3;
create index res_i_res_reservering3
on res_reservering(res_reservering_van, res_reservering_tot);
-- Fix: hoort eigenlijk bij 4.12 vanwege nieuw veld _OMSCHRIJVING
DEFINIEER_VIEW_AANWEZIG(res_ruimte, res_ruimte_verwijder,
res_v_aanwezigruimte,RES_NORMAAL_PRIVILEGE);
#endif // RES
#ifdef WEB
CREATE_VIEW (FAC_V_WEBUSER, FAC_NORMAAL_PRIVILEGE) AS
SELECT PRS_PERSLID_KEY,
PRS_PERSLID_NAAM,
PRS_PERSLID_OSLOGIN PRS_PERSLID_INITIALEN,
PRS_AFDELING_KEY
FROM PRS_V_AANWEZIGPERSLID P
WHERE P.PRS_PERSLID_OSLOGIN IS NOT NULL;
CREATE OR REPLACE FUNCTION fac_reserved_objects (resKey in NUMBER)
RETURN VARCHAR2
AS
ret VARCHAR2(256);
first number;
CURSOR query(resKey NUMBER)
IS SELECT i.INS_DEEL_OMSCHRIJVING resobjdsc
FROM res_v_aanwezigrsv_deel RS, res_deel RD, ins_deel I
WHERE rs.RES_RESERVERING_KEY = resKey
AND rs.RES_DEEL_KEY = rd.RES_DEEL_KEY
AND rd.RES_INS_DEEL_KEY = i.INS_DEEL_KEY;
BEGIN
ret := null;
first := 0;
FOR resobj_rec IN query(resKey) LOOP
IF first = 0 THEN
BEGIN
ret := resobj_rec.resobjdsc;
first := 1;
END;
ELSE
ret := ret || CHR(10) || resobj_rec.resobjdsc;
END IF;
END LOOP;
return ret;
END;
/
create or replace function FAC_RESCONS_OBJECTS (resKey in number)
RETURN VARCHAR2
AS
ret VARCHAR2(256);
first number;
CURSOR query(resKey NUMBER)
IS SELECT rd.RES_ARTIKEL_OMSCHRIJVING resobjdsc
from RES_v_aanwezigRSV_ARTIKEL rs, res_artikel rd
WHERE rs.RES_RESERVERING_KEY = resKey
AND rd.RES_ARTIKEL_KEY = rs.RES_ARTIKEL_KEY;
BEGIN
ret := null;
first := 0;
FOR resobj_rec IN query(resKey) LOOP
IF first = 0 THEN
BEGIN
ret := resobj_rec.resobjdsc;
first := 1;
END;
ELSE
ret := ret || CHR(10) || resobj_rec.resobjdsc;
END IF;
END LOOP;
return ret;
END;
/
create or replace function FAC_ALLRES_OBJECTS (resKey in number)
RETURN VARCHAR2
AS
ret VARCHAR2(1024);
temp VARCHAR2(256);
BEGIN
ret := FAC_RESERVED_OBJECTS(resKey);
temp := FAC_RESCONS_OBJECTS(resKey);
IF temp IS NOT NULL AND ret IS NOT NULL THEN
ret := ret || CHR(10) || '------------------------------' ||CHR(10) || temp;
ELSIF ret IS NULL THEN
ret := temp;
END IF;
return ret;
END;
/
#endif // WEB
#ifdef SCH
DEF_FAC_ENTITY ('SCH_DOCUMENT','Document',NULL,NULL,'Document');
ALTER TABLE sch_nivo
ADD
( sch_nivo_document
VARCHAR2(256)
);
#endif // SCH
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.13'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.13'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
#endif // FAC

View File

@@ -1,595 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.13 naar 4.20
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.13 naar 04.20
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.13 (evt. 04.20) en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $413to420.SQL
PROMPT SPOOL $413to420.LST;
UPDMOD(FAC,413to420)
UPDMOD(ALG,413to420)
UPDMOD(PRS,413to420)
UPDMOD(INS,413to420)
UPDMOD(MLD,413to420)
UPDMOD(CAD,413to420)
UPDMOD(AKZ,413to420)
UPDMOD(PRJ,413to420)
UPDMOD(RES,413to420)
UPDMOD(SCH,413to420)
UPDMOD(SLE,413to420)
UPDMOD(WEB,413to420)
UPDATE_VERSION('04.20');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $413to420.SQL
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
CREATE OR REPLACE FUNCTION ALG_F_GetRefWaarde (sk_key IN NUMBER, waarde IN VARCHAR2) RETURN VARCHAR2 IS
sResult VARCHAR2(255);
kolomnaam VARCHAR2(50);
kolomtxt VARCHAR2(50);
objectnaam VARCHAR2(50);
tab_key NUMBER(10);
BEGIN
-- Doel is het resultaat van:
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde
-- of
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
SELECT alg_refkenmerk_kolomnaam,
alg_refkenmerk_kolomtxt,
alg_refkenmerk_objectnaam,
fac_usrtab_key
INTO kolomnaam, kolomtxt,objectnaam, tab_key
FROM alg_REFKENMERK RSK, alg_KENMERK SK
WHERE SK.alg_kenmerk_key=sk_key
AND SK.alg_refkenmerk_key=RSK.alg_refkenmerk_key;
IF tab_key IS NULL THEN
-- select [kolomtxt] into sResult from [objectnaam] where [kolomnaam]=waarde
-- maak een cursor/recordgroup oid voor deze query. Precies 1 rowresultaat
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde;
ELSE
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde||' and fac_usrtab_key = '||TO_CHAR(tab_key);
END IF;
RETURN sResult;
END;
/
#endif //ALG
#ifdef INS
ALTER TABLE ins_srtdeel MODIFY (ins_srtdeel_omschrijving VARCHAR2(60), ins_srtdeel_upper VARCHAR2(60));
CREATE OR REPLACE FUNCTION INS_F_GetRefWaarde (sk_key IN NUMBER, waarde IN VARCHAR2) RETURN VARCHAR2 IS
sResult VARCHAR2(255);
kolomnaam VARCHAR2(50);
kolomtxt VARCHAR2(50);
objectnaam VARCHAR2(50);
tab_key NUMBER(10);
BEGIN
-- Doel is het resultaat van:
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde
-- of
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
SELECT ins_refsrtkenmerk_kolomnaam,
ins_refsrtkenmerk_kolomtxt,
ins_refsrtkenmerk_objectnaam,
fac_usrtab_key
INTO kolomnaam, kolomtxt,objectnaam, tab_key
FROM INS_REFSRTKENMERK RSK , INS_SRTKENMERK SK
WHERE SK.ins_srtkenmerk_key=sk_key
AND SK.ins_refsrtkenmerk_key=RSK.ins_refsrtkenmerk_key;
IF tab_key IS NULL THEN
-- select [kolomtxt] into sResult from [objectnaam] where [kolomnaam]= waarde
-- maak een cursor/recordgroup oid voor deze query. Precies 1 row resultaat
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde;
ELSE
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde||' AND fac_usrtab_key = '||TO_CHAR(tab_key);
END IF;
RETURN sResult;
END;
/
#endif // INS
#ifdef PRS
ALTER TABLE prs_perslid
ADD prs_perslid_wachtwoord VARCHAR2(30);
DEFINIEER_VIEW_AANWEZIG(prs_perslid,
prs_perslid_verwijder,
prs_v_aanwezigperslid,
PRS_NORMAAL_PRIVILEGE) AND prs_perslid_module = 'PRS';
DEFINIEER_VIEW_AANWEZIG(prs_perslid,
prs_perslid_verwijder,
all_v_aanwezigperslid,
PRS_NORMAAL_PRIVILEGE);
CREATE_VIEW(prs_v_perslid_gegevens,PRS_NORMAAL_PRIVILEGE) AS
SELECT PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam,
PRS_P.prs_perslid_upper,
PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_initialen,
PRS_P.prs_perslid_init_upper,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_telefoonnr,
PRS_P.prs_perslid_oslogin,
PRS_P.prs_perslid_wachtwoord,
PRS_P.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper
FROM prs_v_aanwezigperslid PRS_P, prs_v_aanwezigafdeling PRS_A
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key (+);
#endif // PRS
#ifdef MLD
DEF_FAC_MESSAGE ('MLD_M238', 'Verwijderen vakgroep ','Delete Section ');
#endif // MLD
#ifdef RES
DEF_FAC_ENTITY ('RES_PRIJSVAST' , 'Vaste prijs p/e', null, null, 'Fixed price p/u');
DEF_FAC_ENTITY ('RES_ARTIKELSOORT' , 'Artikelsoort', null, null,'Item type');
DEF_FAC_ENTITY ('MENU_RES_ARTIKELSOORT' , 'Artikel'||CHR(38)||'soorten', null, null,'Item types');
DEF_FAC_ENTITY ('RES_SRTARTCODE' , 'Code', null, null, 'Code');
DEF_FAC_ENTITY ('RES_SRTARTOMSCHR' , 'Omschrijving', null, null, 'Description');
DEF_FAC_MESSAGE ('RES_M084','Verwijderen artikelsoort','Delete item type');
DEF_FAC_MESSAGE ('res_u_res_srtartikel_code' , 'De omschrijving van Artikelsoort is niet uniek.' , 'The description of the item type already exists.');
CREATE_TABLE(res_srtartikel, RES_BIBLIOTHEEK_PRIVILEGE)
(
res_srtartikel_key
NUMBER(10)
CONSTRAINT res_k_res_srtartikel_key PRIMARY KEY,
res_srtartikel_code
VARCHAR2(10)
CONSTRAINT res_c_res_srtartikel_code CHECK(res_srtartikel_code IS NOT NULL),
res_srtartikel_code_upper
VARCHAR2(10)
CONSTRAINT res_c_res_srtartikel_upcode CHECK(res_srtartikel_code_upper IS NOT NULL),
res_srtartikel_omschrijving
VARCHAR2(30)
CONSTRAINT res_c_res_srtdeel_omschrijving CHECK(res_srtartikel_omschrijving IS NOT NULL),
res_srtartikel_upper
VARCHAR2(30)
CONSTRAINT res_c_res_srtartikel_upper CHECK(res_srtartikel_upper IS NOT NULL),
res_srtartikel_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT res_c_res_srtartikel_aanmaak CHECK(res_srtartikel_aanmaak IS NOT NULL),
res_srtartikel_verwijder
DATE
DEFAULT NULL,
res_srtartikel_volgnr
NUMBER(3),
res_srtartikel_prijs
NUMBER(8,2),
res_srtartikel_eenheid
VARCHAR2(15),
res_srtartikel_dimensie
NUMBER(1),
res_srtartikel_opmaat
NUMBER(1)
DEFAULT 0,
CONSTRAINT res_u_res_srtartikel_code UNIQUE (res_srtartikel_code_upper, res_srtartikel_verwijder)
);
ALTER TABLE RES_ARTIKEL ADD
( res_srtartikel_key
NUMBER(10)
);
INSERT INTO RES_SRTARTIKEL (res_srtartikel_code, res_srtartikel_omschrijving) VALUES
('DIV', 'Diversen');
UPDATE res_artikel
SET res_srtartikel_key = (select res_srtartikel_key from res_srtartikel where res_srtartikel_code_upper='DIV')
WHERE res_srtartikel_key is not null;
ALTER TABLE RES_ARTIKEL ADD
(
CONSTRAINT res_r_artikel_srtartikel_key1 CHECK(res_srtartikel_key IS NOT NULL),
CONSTRAINT res_r_artikel_srtartikel_key2 FOREIGN KEY (res_srtartikel_key) REFERENCES res_srtartikel(res_srtartikel_key)
);
CREATE SEQUENCE res_s_res_srtartikel_key MINVALUE 1;
DEFINIEER_VIEW_AANWEZIG(res_srtartikel, res_srtartikel_verwijder,
res_v_aanwezigsrtartikel,RES_BIBLIOTHEEK_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_artikel, res_artikel_verwijder,
res_v_aanwezigartikel, RES_NORMAAL_PRIVILEGE);
CREATE_VIEW(res_v_opdrachtartikelen, RES_NORMAAL_PRIVILEGE)
( res_opdracht_key,
res_reservering_key,
res_opdracht_nummer,
res_opdracht_status,
res_artikel_nummer,
res_artikel_omschrijving,
res_artikel_eenheid,
res_artikel_aantal,
res_artikel_subtotaal,
res_object_key,
res_object_type,
res_ruimte_nr,
res_reservering_begin) AS
SELECT RES_OPD.res_opdracht_key,
RES_OPD.res_reservering_key,
TO_CHAR(RES_OPD.res_reservering_key)||'/'||RES_OPD.res_opdracht_volgnr,
RES_OPD.res_opdracht_status,
RES_A.res_artikel_nr,
RES_A.res_artikel_omschrijving,
RES_A.res_artikel_eenheid,
RES_RSVA.res_rsv_artikel_aantal,
RES_RSVA.res_rsv_artikel_aantal * RES_A.res_artikel_prijs,
RES_A.res_artikel_key,
'RES',
RES_RES.res_ruimte_nr,
RES_RSVA.res_rsv_artikel_levering
FROM res_v_aanwezigopdracht RES_OPD, res_v_reservering_gegevens RES_RES,
res_v_aanwezigrsv_artikel RES_RSVA, res_v_aanwezigartikel RES_A
-- ,prs_bedrijf PRS_B
WHERE RES_OPD.prs_bedrijf_key = RES_A.prs_bedrijf_key
AND RES_OPD.res_reservering_key = RES_RES.res_reservering_key
AND RES_RES.res_reservering_key = RES_RSVA.res_reservering_key
AND RES_RSVA.res_artikel_key = RES_A.res_artikel_key
-- AND RES_A.prs_bedrijf_key = PRS_B.prs_bedrijf_key
UNION
SELECT RES_OPD.res_opdracht_key,
RES_OPD.res_reservering_key,
TO_CHAR(RES_OPD.res_reservering_key)||'/'||RES_OPD.res_opdracht_volgnr,
RES_OPD.res_opdracht_status,
RES_A.res_artikel_nr,
RES_A.res_artikel_omschrijving,
RES_A.res_artikel_eenheid,
RES_RSVA.res_rsv_artikel_aantal,
RES_RSVA.res_rsv_artikel_aantal * RES_A.res_artikel_prijs,
RES_A.res_artikel_key,
'RES',
RES_RES.res_ruimte_nr,
RES_RSVA.res_rsv_artikel_levering
FROM res_v_aanwezigopdracht RES_OPD, res_v_reservering_gegevens RES_RES,
res_v_aanwezigrsv_artikel RES_RSVA, res_v_aanwezigartikel RES_A
-- ,prs_afdeling PRS_A
WHERE RES_OPD.prs_afdeling_key = RES_A.prs_afdeling_key
AND RES_OPD.res_reservering_key = RES_RES.res_reservering_key
AND RES_RES.res_reservering_key = RES_RSVA.res_reservering_key
AND RES_RSVA.res_artikel_key = RES_A.res_artikel_key
-- AND RES_A.prs_afdeling_key = PRS_A.prs_afdeling_key
UNION
SELECT RES_OPD.res_opdracht_key,
RES_OPD.res_reservering_key,
TO_CHAR(RES_OPD.res_reservering_key)||'/'||RES_OPD.res_opdracht_volgnr,
RES_OPD.res_opdracht_status,
INS_D.ins_deel_omschrijving,
INS_S.ins_srtdeel_omschrijving,
RES_D.res_deel_eenheid,
RES_RSVD.res_rsv_deel_aantal,
RES_RSVD.res_rsv_deel_aantal * RES_D.res_deel_prijs,
INS_D.ins_deel_key,
'INS',
RES_RES.res_ruimte_nr,
RES_RES.res_reservering_van
FROM res_v_aanwezigopdracht RES_OPD, res_v_reservering_gegevens RES_RES,
res_v_aanwezigrsv_deel RES_RSVD, res_v_aanwezigdeel RES_D,
ins_deel INS_D, ins_srtdeel INS_S
WHERE RES_OPD.res_reservering_key = RES_RES.res_reservering_key
AND RES_RES.res_reservering_key = RES_RSVD.res_reservering_key
AND RES_RSVD.res_deel_key = RES_D.res_deel_key
AND RES_D.res_ins_deel_key = INS_D.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_S.ins_srtdeel_key
AND INS_D.ins_discipline_key = RES_OPD.ins_discipline_key
UNION
SELECT RES_OPD.res_opdracht_key,
RES_OPD.res_reservering_key,
TO_CHAR(RES_OPD.res_reservering_key)||'/'||RES_OPD.res_opdracht_volgnr,
RES_OPD.res_opdracht_status,
NULL,
RES_OP.res_opstelling_omschrijving,
NULL,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
RES_OP.res_opstelling_key,
'OPS',
RES_RES.res_ruimte_nr,
RES_RES.res_reservering_van
FROM res_v_aanwezigopdracht RES_OPD, res_v_reservering_gegevens RES_RES,
res_v_aanwezigopstelling RES_OP, res_v_aanwezigruimte RES_R
WHERE RES_OPD.res_reservering_key = RES_RES.res_reservering_key
AND RES_OPD.prs_bedrijf_key IS NULL
AND RES_OPD.prs_afdeling_key IS NULL
AND RES_OPD.ins_discipline_key IS NULL
AND RES_R.res_ruimte_key = RES_RES.res_ruimte_key
AND RES_OP.res_opstelling_key = RES_RES.res_opstelling_key;
CREATE_VIEW(res_v_artikelgegevens,RES_BIBLIOTHEEK_PRIVILEGE)
(res_artikel_key,
res_artikel_nr,
res_artikel_omschrijving,
res_artikel_eenheid,
res_artikel_prijs,
prs_bedrijf_key,
prs_bedrijf_naam,
prs_afdeling_key,
prs_afdeling_naam,
res_srtartikel_key,
res_srtartikel_code) AS
SELECT RA.res_artikel_key,
RA.res_artikel_nr,
RA.res_artikel_omschrijving,
RA.res_artikel_eenheid,
RA.res_artikel_prijs,
PB.prs_bedrijf_key,
PB.prs_bedrijf_naam,
TO_NUMBER(NULL),
NULL,
RS.res_srtartikel_key,
RS.res_srtartikel_code||' - '||RS.res_srtartikel_omschrijving
FROM res_v_aanwezigartikel RA, res_v_aanwezigsrtartikel RS,
prs_v_aanwezigbedrijf PB
WHERE RA.res_srtartikel_key = RS.res_srtartikel_key (+)
AND RA.prs_bedrijf_key = PB.prs_bedrijf_key
AND RA.prs_bedrijf_key IN
(SELECT res_backoffice_key FROM ALL_v_aanwezigbackoffice
WHERE res_backoffice_soort = 'B')
UNION
SELECT RA.res_artikel_key,
RA.res_artikel_nr,
RA.res_artikel_omschrijving,
RA.res_artikel_eenheid,
RA.res_artikel_prijs,
TO_NUMBER(NULL),
NULL,
PA.prs_afdeling_key,
PA.prs_afdeling_naam,
RS.res_srtartikel_key,
RS.res_srtartikel_code||' - '||RS.res_srtartikel_omschrijving
FROM res_v_aanwezigartikel RA, res_v_aanwezigsrtartikel RS,
prs_v_aanwezigafdeling PA
WHERE RA.res_srtartikel_key = RS.res_srtartikel_key (+)
AND RA.prs_afdeling_key = PA.prs_afdeling_key
AND RA.prs_afdeling_key IN
(SELECT res_backoffice_key FROM ALL_v_aanwezigbackoffice
WHERE res_backoffice_soort = 'A');
SPOOL OFF
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 110
SPOOL $RESGRTS.SQL
PROMPT SPOOL $RESgrts.lst
PROMPT SET ECHO OFF
SELECT 'CREATE ROLE '||USER||'_'||'RES'||'_SMALL_ROLE;' FROM dual;
SELECT 'CREATE ROLE '||USER||'_'||'RES'||'_FULL_ROLE;' FROM dual;
SELECT 'CREATE ROLE '||USER||'_'||'RES'||'_ARCHIVE_ROLE;' FROM dual;
SELECT 'GRANT '||USER||'_'||'RES'||'_SMALL_ROLE TO '||USER||'_'||'RES'||'_FULL_ROLE;' FROM dual;
SELECT 'GRANT '||USER||'_'||'RES'||'_FULL_ROLE TO '||USER||'_'||'RES'||'_ARCHIVE_ROLE;' FROM dual;
SELECT 'GRANT select ON ' || UT.table_name ||' TO '||USER||'_'||'RES'||'_SMALL_ROLE;' FROM user_tables UT, fac_privilege FP WHERE UT.table_name = UPPER(FP.object_name) AND FP.security_level IN (70+1,70+2,70+3) ORDER BY UT.table_name;
SELECT 'GRANT insert,delete,update ON ' || UT.table_name ||' TO '||USER||'_'||'RES'||'_SMALL_ROLE;' FROM user_tables UT, fac_privilege FP WHERE UT.table_name = UPPER(FP.object_name) AND FP.security_level = 70+1 ORDER BY UT.table_name;
SELECT 'GRANT insert,delete,update ON ' || UT.table_name ||' TO '||USER||'_'||'RES'||'_FULL_ROLE;' FROM user_tables UT, fac_privilege FP WHERE UT.table_name = UPPER(FP.object_name) AND FP.security_level = 70+2 ORDER BY UT.table_name;
SELECT 'GRANT insert,delete,update ON ' || UT.table_name ||' TO '||USER||'_'||'RES'||'_ARCHIVE_ROLE;' FROM user_tables UT, fac_privilege FP WHERE UT.table_name = UPPER(FP.object_name) AND FP.security_level = 70+3 ORDER BY UT.table_name;
SELECT 'GRANT select /*,insert,delete,update*/ ON ' || UV.view_name ||' TO '||USER||'_'||'RES'||'_SMALL_ROLE;' FROM user_views UV, fac_privilege FP WHERE UV.view_name = UPPER(FP.object_name) AND FP.security_level IN (70+1,70+2,70+3) ORDER BY UV.view_name;
SELECT 'UPDATE fac_module SET fac_module_extern=1 WHERE fac_module_name='''||'RES'||''';' FROM dual;
PROMPT commit;
SELECT 'GRANT execute ON RES TO '||USER||'_RES_SMALL_ROLE;'
FROM dual;
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
PROMPT SPOOL OFF
SPOOL OFF
START $RESGRTS.sql
SET TERMOUT ON
COMMIT;
-- En eigenlijk ook nog de synoniem voor alle secundaire users incl. FCLTWEB
create index res_i_res_srtartikel on res_srtartikel(res_srtartikel_omschrijving);
create index res_i_res_artikel3 on res_artikel(res_artikel_key, res_srtartikel_key);
CREATE_TRIGGER(res_t_res_srtartikel_B_IU)
BEFORE INSERT OR UPDATE ON res_srtartikel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(res_srtartikel_key, res_s_res_srtartikel_key);
UPDATE_UPPER(res_srtartikel_omschrijving, res_srtartikel_upper);
UPDATE_UPPER(res_srtartikel_code, res_srtartikel_code_upper);
DECLARE dummy CHAR; BEGIN
IF :new.res_srtartikel_verwijder IS NOT NULL THEN SELECT 'x' INTO dummy FROM res_artikel WHERE res_artikel.res_srtartikel_key = :old.res_srtartikel_key AND res_artikel.res_artikel_verwijder IS NULL;
raise_application_error(-20000,'ins_m013');
END IF; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'ins_m013'); END;
UPDATE_AANMAAKDATUM(res_srtartikel,res_srtartikel_aanmaak);
END;
/
#endif // RES
#ifdef WEB
CREATE_VIEW (FAC_V_WEBFUNCTIE_DISCIPLINE, FAC_NORMAAL_PRIVILEGE) AS
SELECT * FROM FAC_V_FUNCTIE_DISCIPLINE FD
WHERE (FD.fac_functie_discipline_type <>'F'
AND FD.fac_functie_discipline_key IN (SELECT ins_discipline_key
FROM all_v_aanwezigdiscipline))
OR (FD.fac_functie_discipline_type IN ('A', 'B', 'C'))
OR (FD.fac_functie_discipline_type ='F' AND FD.fac_functie_discipline_module='WEB');
CREATE OR REPLACE FUNCTION FUNC_HAS_NEW_MESSAGES(perslidKey in number) RETURN INTEGER AS
temp NUMBER;
CURSOR query(persKey NUMBER)
IS SELECT m.WEB_USER_MESSAGE_KEY FROM WEB_USER_MESSAGES m
WHERE m.PRS_PERSLID_KEY_RECEIVER = persKey
AND m.WEB_USER_MESS_ACTION_STATUS = '1';
BEGIN
OPEN query(perslidKey);
FETCH query INTO temp;
IF query%FOUND = TRUE THEN
RETURN 1;
END IF;
RETURN 0;
END;
/
/* These functions were originally not authorized. */
DEF_FAC_FUNCTIE('WEB_PRSOBJ', 'Persoonlijk:Bezittingen', 'WEB', 1);
DEF_FAC_FUNCTIE('WEB_PROFIL', 'Persoonlijk:Profiel', 'WEB', 1);
DEF_FAC_FUNCTIE('WEB_PHONEB', 'Business:Telefoonboek', 'WEB', 1);
/* So authorize all existing users for this */
INSERT INTO fac_gebruiker (fac_gebruiker_username,
fac_gebruiker_module,
fac_functie_key,
fac_gebruiker_soort)
SELECT distinct(fac_gebruiker_username),F.fac_functie_module, F.fac_functie_key, '1'
FROM fac_functie F, fac_gebruiker G
WHERE F.fac_functie_code in ('WEB_PRSOBJ','WEB_PROFIL','WEB_PHONEB');
#endif // WEB
#ifdef SCH
#endif // SCH
#ifdef FAC
CREATE_VIEW(fac_v_functie_discipline, FAC_BIBLIOTHEEK_PRIVILEGE)
(fac_functie_discipline_key,
fac_functie_discipline_type,
fac_functie_discipline_module,
fac_functie_discipline_omschr,
fac_functie_discipline_min_lev) AS
SELECT fac_functie_key,
'F',
fac_functie_module,
fac_functie_omschrijving,
fac_functie_min_level
FROM fac_functie
#ifdef RES
UNION
SELECT P.prs_afdeling_key,
'A',
'RES',
P.prs_afdeling_naam,
1
FROM prs_afdeling P
WHERE prs_afdeling_verwijder IS NULL
AND P.prs_afdeling_key IN
(SELECT prs_afdeling_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_afdeling_key = P.prs_afdeling_key
AND RowNum = 1)
UNION
SELECT B.prs_bedrijf_key,
'B',
'RES',
SUBSTR(B.prs_bedrijf_naam,1,15),
1
FROM prs_bedrijf B
WHERE prs_bedrijf_verwijder IS NULL
AND B.prs_bedrijf_key IN
(SELECT prs_bedrijf_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_bedrijf_key = B.prs_bedrijf_key
AND RowNum = 1)
#endif // RES
UNION
SELECT ins_discipline_key,
decode(ins_discipline_module,'INS','D','MLD','V','BES','C'),
ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level
FROM ins_tab_discipline
WHERE ins_discipline_verwijder is NULL;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.20'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.20'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
#endif // FAC

View File

@@ -1,245 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.20 naar 4.21
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.20 naar 04.21
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.20 (evt. 04.21) en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $420to421.SQL
PROMPT SPOOL $420to421.LST;
UPDMOD(FAC,420to421)
UPDMOD(ALG,420to421)
UPDMOD(PRS,420to421)
UPDMOD(INS,420to421)
UPDMOD(MLD,420to421)
UPDMOD(CAD,420to421)
UPDMOD(AKZ,420to421)
UPDMOD(PRJ,420to421)
UPDMOD(RES,420to421)
UPDMOD(SCH,420to421)
UPDMOD(SLE,420to421)
UPDMOD(WEB,420to421)
UPDATE_VERSION('04.21');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $420to421.SQL
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
#endif //ALG
#ifdef INS
#endif // INS
#ifdef PRS
ALTER TABLE prs_afdeling
ADD prs_bedrijf_key NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key);
ALTER VIEW prs_v_aanwezigafdeling COMPILE;
CREATE_TRIGGER(prs_t_prs_perslid_B_IU)
BEFORE INSERT OR UPDATE ON prs_perslid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys);
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper);
UPDATE_UPPER(prs_perslid_initialen, prs_perslid_init_upper);
UPDATE_UPPER(prs_perslid_oslogin, prs_perslid_oslogin);
UPDATE_AANMAAKDATUM(prs_perslid, prs_perslid_aanmaak);
CHECK_NOG_REFERENCES(prs_perslid, prs_perslid_verwijder
,prs_v_aanwezigperslidwerkplek, prs_perslid_key, 'prs_m174');
IF :new.prs_perslid_verwijder IS NOT NULLDATUM
THEN
DECLARE
dummy VARCHAR2(1);
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_upper = 'MLD_UITGEGEVEN'
AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key;
APPLICATION_ERROR(-20000, 'prs_m085');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'prs_m085');
END;
END IF;
-- Persoon mag alleen verwijderd worden als deze geen objecten meer in het bezit heeft.
-- Dit geldt alleen voor objecten die 'van de organisatie' zijn, d.i.
-- ins_discipline_min_level <> 3. Deze mocht de gebruiker zelf bijhouden
DECLARE
dummy VARCHAR2(1);
BEGIN
IF :new.prs_perslid_verwijder IS NOT NULL
THEN
SELECT 'x'
INTO dummy
FROM ins_v_aanwezigdeel D, ins_tab_discipline DI
WHERE ins_alg_ruimte_type = 'P'
AND ins_alg_ruimte_key = :old.prs_perslid_key
AND DI.ins_discipline_key = D.ins_discipline_key
AND DI.ins_discipline_min_level <> 3;
APPLICATION_ERROR(-20000,'prs_m175');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000,'prs_m175');
END;
-- Tenslotte: ruim de objecten op, d.i. de objecten die ik zelf mocht beheren, en
-- de objecten die reeds vervallen waren.
BEGIN
IF :new.prs_perslid_verwijder IS NOT NULL
THEN
DELETE FROM INS_DEEL WHERE ins_deel_key IN
(SELECT D.ins_deel_key
FROM ins_deel D, ins_tab_discipline DI
WHERE ins_alg_ruimte_type = 'P'
AND ins_alg_ruimte_key = :old.prs_perslid_key
AND DI.ins_discipline_key = D.ins_discipline_key
AND (DI.ins_discipline_min_level = 3 OR ins_deel_verwijder IS NOT NULL));
END IF;
END;
END;
/
#endif // PRS
#ifdef MLD
#endif // MLD
#ifdef RES
#endif // RES
#ifdef BES
CREATE OR REPLACE FUNCTION FAC_Bestelling_Items (besKey in number) RETURN VARCHAR2 AS
ret VARCHAR2(512);
first NUMBER;
last NUMBER;
CURSOR query(resKey NUMBER) IS
SELECT BI.BES_BESTELLING_ITEM_AANTAL ||'x '||
S.INS_SRTDEEL_OMSCHRIJVING||' ('||S.INS_SRTDEEL_EENHEID ||') ' BESITEMDSC
FROM BES_BESTELLING B, BES_BESTELLING_ITEM BI,
BES_V_AANWEZIGSRTDEEL S, BES_V_AANWEZIGSRTGROEP G, BES_V_AANWEZIGDISCIPLINE D
WHERE B.BES_BESTELLING_KEY = besKey
AND B.BES_BESTELLING_KEY = BI.BES_BESTELLING_KEY
AND BI.ins_srtdeel_key = S.ins_srtdeel_key
AND S.ins_srtgroep_key = G.ins_srtgroep_key
AND G.ins_discipline_key = D.ins_discipline_key
ORDER BY S.INS_SRTDEEL_OMSCHRIJVING;
BEGIN
ret := null;
first := 0;
last:= 0;
FOR besitem_rec IN query(besKey) LOOP
IF first = 0 THEN
BEGIN
ret := besitem_rec.BESITEMDSC;
first := 1;
END;
ELSE
IF last = 0 THEN
IF LENGTH(ret)+LENGTH(besitem_rec.BESITEMDSC)<(512-3) THEN
ret := ret || CHR(10) || besitem_rec.BESITEMDSC;
ELSE
ret := ret || CHR(10) || '...';
last := 1;
END IF;
END IF;
END IF;
END LOOP;
RETURN ret;
END;
/
#endif // BES
#ifdef WEB
DEF_FAC_FUNCTIE('WEB_MLDBO2', 'Backoffice:ServiceDesk-afmeld', 'WEB', 2);
#endif // WEB
#ifdef SCH
#endif // SCH
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.21'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.21'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
#endif // FAC

View File

@@ -1,615 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.21 naar 4.22
--
-- $Revision$
-- $Id$
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.21 naar 04.22
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.21 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $421to422.SQL
PROMPT SPOOL $421to422.LST;
UPDMOD(FAC,421to422)
UPDMOD(ALG,421to422)
UPDMOD(PRS,421to422)
UPDMOD(INS,421to422)
UPDMOD(MLD,421to422)
UPDMOD(CAD,421to422)
UPDMOD(AKZ,421to422)
UPDMOD(PRJ,421to422)
UPDMOD(RES,421to422)
UPDMOD(SCH,421to422)
UPDMOD(SLE,421to422)
UPDMOD(WEB,421to422)
UPDATE_VERSION('04.22');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $421to422.SQL
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
CREATE_VIEW(fac_v_functie_discipline, FAC_BIBLIOTHEEK_PRIVILEGE)
(fac_functie_discipline_key,
fac_functie_discipline_type,
fac_functie_discipline_module,
fac_functie_discipline_omschr,
fac_functie_discipline_min_lev) AS
SELECT fac_functie_key,
'F',
fac_functie_module,
fac_functie_omschrijving,
fac_functie_min_level
FROM fac_functie
#ifdef RES
UNION
SELECT P.prs_afdeling_key,
'A',
'RES',
P.prs_afdeling_naam,
1
FROM prs_afdeling P
WHERE prs_afdeling_verwijder IS NULL
AND P.prs_afdeling_key IN
(SELECT prs_afdeling_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_afdeling_key = P.prs_afdeling_key
AND RowNum = 1)
UNION
SELECT B.prs_bedrijf_key,
'B',
'RES',
SUBSTR(B.prs_bedrijf_naam,1,15),
1
FROM prs_bedrijf B
WHERE prs_bedrijf_verwijder IS NULL
AND B.prs_bedrijf_key IN
(SELECT prs_bedrijf_key
FROM res_artikel A
WHERE res_artikel_verwijder IS NULL
AND A.prs_bedrijf_key = B.prs_bedrijf_key
AND RowNum = 1)
#endif // RES
UNION
SELECT ins_discipline_key,
decode(ins_discipline_module,'INS','D','MLD','V','BES','C','REP','C'),
ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level
FROM ins_tab_discipline
WHERE ins_discipline_verwijder is NULL;
CREATE_TABLE(fac_groep, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_groep_key
NUMBER(10)
CONSTRAINT fac_k_fac_groep_key PRIMARY KEY,
fac_groep_omschrijving
VARCHAR2(30)
CONSTRAINT fac_c_fac_groep_omschrijving CHECK(fac_groep_omschrijving IS NOT NULL),
fac_groep_upper
VARCHAR2(30)
CONSTRAINT fac_c_fac_groep_upper CHECK(fac_groep_upper IS NOT NULL),
fac_groep_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT fac_c_fac_groep_aanmaak NOT NULL,
fac_groep_verwijder
DATE
DEFAULT NULL,
CONSTRAINT fac_u_fac_groep_upper UNIQUE(fac_groep_upper, fac_groep_verwijder)
);
CREATE_TABLE(fac_gebruikersgroep, FAC_BIBLIOTHEEK_PRIVILEGE)
(
fac_gebruikersgroep_key
NUMBER(10)
CONSTRAINT fac_k_fac_gebruikersgroep_key PRIMARY KEY,
fac_groep_key
NUMBER(10)
CONSTRAINT fac_r_fac_groep_key REFERENCES fac_groep(fac_groep_key)
CONSTRAINT fac_c_fac_groep_key CHECK(fac_groep_key IS NOT NULL),
fac_gebruikersgroep_username
VARCHAR2(30)
);
ALTER TABLE fac_gebruikersgroep ADD (
prs_perslid_key
NUMBER(10)
CONSTRAINT fac_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key)
CONSTRAINT fac_c_prs_perslid_key CHECK(prs_perslid_key IS NOT NULL)
);
alter table fac_gebruiker
add fac_groep_key
NUMBER(10)
CONSTRAINT fac_r_fac_groep_key2 REFERENCES fac_groep(fac_groep_key);
ALTER TABLE FAC_GEBRUIKER drop constraint FAC_C_FAC_GEBRUIKER_USERNAME;
ALTER TABLE FAC_GEBRUIKER add constraint FAC_C_FAC_GEBRUIKER_USERNAME CHECK
(fac_gebruiker_username IS NOT NULL or fac_groep_key IS NOT NULL);
CREATE SEQUENCE fac_s_fac_groep_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_gebruikersgroep_key MINVALUE 1;
CREATE_TRIGGER(fac_t_fac_groep_B_IU)
BEFORE INSERT OR UPDATE ON fac_groep
FOR EACH ROW
BEGIN
CHECK_NOG_REFERENCES(fac_groep, fac_groep_verwijder, fac_gebruikersgroep,fac_groep_key,'fac_m064');
CHECK_NOG_REFERENCES(fac_groep, fac_groep_verwijder, fac_gebruiker, fac_groep_key,'fac_m065');
UPDATE_PRIMARY_KEY(fac_groep_key, fac_s_fac_groep_key);
:new.fac_groep_upper := UPPER(:new.fac_groep_omschrijving);
:new.fac_groep_aanmaak := SYSDATE;
END;
/
CREATE_TRIGGER(fac_t_fac_gebruikersgroep_B_IU)
BEFORE INSERT OR UPDATE ON fac_gebruikersgroep
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_gebruikersgroep_key, fac_s_fac_gebruikersgroep_key);
END;
/
CREATE_VIEW (FAC_V_WEBGEBRUIKER,FAC_NORMAAL_PRIVILEGE) AS
SELECT
G.FAC_GEBRUIKER_KEY,
G.FAC_GROEP_KEY,
U.PRS_PERSLID_INITIALEN FAC_GEBRUIKER_USERNAME,
G.FAC_FUNCTIE_KEY,
G.FAC_GEBRUIKER_MODULE,
G.FAC_GEBRUIKER_TABEL,
G.FAC_GEBRUIKER_KOLOM,
G.FAC_GEBRUIKER_KOLOMKEY,
G.FAC_GEBRUIKER_SOORT
FROM FAC_GEBRUIKER G, FAC_V_WEBUSER U
WHERE G.FAC_GEBRUIKER_USERNAME=U.PRS_PERSLID_INITIALEN
UNION
SELECT
G.FAC_GEBRUIKER_KEY,
G.FAC_GROEP_KEY,
U.PRS_PERSLID_INITIALEN FAC_GEBRUIKER_USERNAME,
G.FAC_FUNCTIE_KEY,
G.FAC_GEBRUIKER_MODULE,
G.FAC_GEBRUIKER_TABEL,
G.FAC_GEBRUIKER_KOLOM,
G.FAC_GEBRUIKER_KOLOMKEY,
G.FAC_GEBRUIKER_SOORT
FROM FAC_GEBRUIKER G, FAC_V_WEBUSER U, FAC_GEBRUIKERSGROEP GG
WHERE G.FAC_GROEP_KEY=GG.FAC_GROEP_KEY
AND GG.PRS_PERSLID_KEY=U.PRS_PERSLID_KEY;
DEFINIEER_VIEW_AANWEZIG(fac_groep, fac_groep_verwijder,
fac_v_aanweziggroep,FAC_NORMAAL_PRIVILEGE);
CREATE_VIEW(fac_v_gebruikersgroepgegevens, FAC_NORMAAL_PRIVILEGE)
( fac_gebruikersgroep_key
, fac_groep_key
, prs_perslid_key
, prs_perslid_oslogin
, prs_afdeling_key
, prs_afdeling_naam
, prs_perslid_naam
, fac_groep_omschrijving
)
AS
select
gg.fac_gebruikersgroep_key
, gg.fac_groep_key
, gg.prs_perslid_key
, p.prs_perslid_oslogin
, a.prs_afdeling_key
, a.prs_afdeling_naam
, p.prs_perslid_naam
, g.fac_groep_omschrijving
from
fac_gebruikersgroep gg
, fac_groep g
, prs_perslid p
, prs_afdeling a
where gg.fac_groep_key=g.fac_groep_key
and gg.prs_perslid_key=p.prs_perslid_key
and p.prs_afdeling_key(+)=a.prs_afdeling_key;
DEF_FAC_ENTITY ('AUTORISATIE','Autorisatie',null,null,'Authorization');
DEF_FAC_ENTITY ('FAC_GROEP','Groep','Groepen','de','Group');
DEF_FAC_ENTITY ('FAC_GROEP_OMSCHRIJVING','Groep','Groepen','de','Group name');
DEF_FAC_ENTITY ('FAC_SELECTEER_OP','Selecteer op',null,null,'Select on');
DEF_FAC_MESSAGE ('FAC_USRTAB','Overige tabellen','Other tables');
DEF_FAC_MESSAGE ('FAC_USRDATA','Tabel ','Table');
DEF_FAC_MESSAGE ('FAC_GROEP_TITEL','Gebruikersgroepen','User groups');
DEF_FAC_MESSAGE ('FAC_M055','Toevoegen groep ','Add group');
DEF_FAC_MESSAGE ('FAC_M056','Groep','Group');
DEF_FAC_MESSAGE ('FAC_M057','Personen','Persons');
DEF_FAC_MESSAGE ('FAC_M058','Gebruikersgroepen-Personen','');
DEF_FAC_MESSAGE ('FAC_M059','Verwijderen ','Delete ');
DEF_FAC_MESSAGE ('FAC_M060','Verwijder Persoon uit groep','');
DEF_FAC_MESSAGE ('FAC_M061','Afdeling','');
DEF_FAC_MESSAGE ('FAC_M062','Groepsautorisatie','');
DEF_FAC_MESSAGE ('FAC_M063','Reeds toegekende individuele rechten worden verwijderd.','');
DEF_FAC_MESSAGE ('FAC_M064','Er bestaan nog aan deze groep gekoppelde personen.','');
DEF_FAC_MESSAGE ('FAC_M065','Er zijn nog autorisaties aan deze groep gekoppeld.','');
DEF_FAC_MESSAGE ('FAC_M066','Verwijderen groep ','');
#endif //ALG
#ifdef INS
DEF_FAC_ENTITY ('INS_DISCIPLINE_MINLEVEL', 'Type', 'Types', 'de','Type');
#endif // INS
#ifdef PRS
DEF_FAC_ENTITY ('MENU_PRS_EENHEID' , 'C'||CHR(38)||'ompany codes', NULL, NULL,'C'||CHR(38)||'ompany codes');
DEF_FAC_MESSAGE('MENU_PRS_PERSLIDEENHEID', 'Pers.functionarissen','Staff Managers');
DEF_FAC_ENTITY ('MENU_PRS_PERSLIDAFDELING', 'Contactpersonen', NULL, NULL,'Contact persons');
DEF_FAC_ENTITY ('MENU_PRS_SECURITY', 'Beveiliging', 'Security');
DEF_FAC_ENTITY ('MENU_PRS_FACILITY', 'Facilities', 'Facilities');
DEF_FAC_ENTITY ('PRS_EENHEID', 'Company', NULL, NULL,'Companies');
DEF_FAC_ENTITY ('PRS_EENHEID_CODE', 'Code' , NULL, NULL,'Code');
DEF_FAC_ENTITY ('PRS_EENHEID_OMSCHRIJVING', 'Omschrijving', NULL, NULL,'Omschrijving');
DEF_FAC_ENTITY ('PRS_PERSLIDEENHEID', 'Personeelszaken', NULL, NULL,'Staff Management');
DEF_FAC_ENTITY ('PRS_PERSLIDAFDELING', 'Contactpersoon', NULL, NULL,'Contact person');
DEF_FAC_MESSAGE ('PRS_M179', 'Verwijderen niet toegestaan, er zijn nog afdelingen gekoppeld aan deze Company.','Can not delete, departments found with this Company.');
DEF_FAC_MESSAGE ('PRS_M181', 'Geen Companies gevonden.' ,'No Companies found.');
DEF_FAC_MESSAGE ('PRS_M182', 'Er zijn geen personen geselecteerd.', 'No persons selected.');
DEF_FAC_MESSAGE ('PRS_M183', 'Companies per personeelsfunctionaris ', 'Companies per Staff Manager');
DEF_FAC_MESSAGE ('PRS_M184', 'Verwijderen Personeelsfunctionaris ', 'Delete Staff Manager');
DEF_FAC_MESSAGE ('PRS_M185', 'Contactpersoon ' , 'Contact Person');
DEF_FAC_MESSAGE ('PRS_M186', 'Verwijderen Contactpersoon ' , 'Delete Contact Person');
DEF_FAC_MESSAGE ('PRS_M187', 'Medewerkers beveiliging' , 'Security Employee');
DEF_FAC_MESSAGE ('PRS_M188', 'Medewerkers facilities' , 'Facilities Employee');
DEF_FAC_MESSAGE ('PRS_M189', 'Verwijderen contactpersonen Facilities', 'Delete Contact Person Facilities');
DEF_FAC_MESSAGE ('PRS_M190', 'Verwijderen contactpersonen Facilities afdeling ', 'Delete Contact Person Facilities Dep.');
DEF_FAC_MESSAGE ('PRS_M191', 'Verwijderen contactpersoon Beveiliging ', 'Delete Contact Person Security');
DEF_FAC_MESSAGE ('PRS_M193', 'Verwijderen Company code ' , 'Delete Company code');
DEF_FAC_MESSAGE ('PRS_M194', 'Er zijn geen afdelingen geselecteerd.' , 'No departments were selected.');
DEF_FAC_MESSAGE ('PRS_M195', 'Er zijn geen Companies geselecteerd.' , 'No Companies were selecterd.');
DEF_FAC_MESSAGE ('PRS_M196', 'Verwijderen niet toegestaan, persoon is personeelsfunctionaris.', 'Delete not allowed, person is Staff Manager.');
DEF_FAC_MESSAGE ('PRS_M197', 'Verwijderen niet toegestaan, persoon is contactpersoon voor afdeling(en).', 'Delete not allowed, person is Contact person for department(s).');
DEF_FAC_MESSAGE ('PRS_M198', 'Verwijderen niet toegestaan, persoon is contactpersoon voor Beveiliging.', 'Delete not allowed, person is Contact person for Security.');
DEF_FAC_MESSAGE ('PRS_M199', 'Verwijderen niet toegestaan, persoon is contactpersoon voor Facilities.' , 'Delete not allowed, person is Contact person for Facilities.');
DEF_FAC_MESSAGE ('PRS_M180', 'Geen Personen gevonden.','No persons found.');
DEF_FAC_MESSAGE ('PRS_M200', 'Afdelingen per contactpersoon', 'Departments per Contact Person');
DEF_FAC_MESSAGE ('PRS_PERSLIDEENHEID_NAAM' ,'Pers.functionaris' , 'Staff Manager');
DEF_FAC_MESSAGE ('PRS_PERSLIDEENHEID_NAMEN' ,'Pers.functionarissen' , 'Staff Managers');
DEF_FAC_MESSAGE ('PRS_PERSLIDAFDELING_NAAM' ,'Contact persoon' , 'Contact Person');
DEF_FAC_MESSAGE ('PRS_PERSLIDAFDELING_NAMEN' ,'Contact personen' , 'Contact Persons');
CREATE_TABLE(prs_eenheid, PRS_BIBLIOTHEEK_PRIVILEGE)
(
prs_eenheid_key
NUMBER(10)
CONSTRAINT prs_k_prs_eenheid_key PRIMARY KEY,
prs_eenheid_code
VARCHAR2(6)
CONSTRAINT prs_c_prs_eenheid_code CHECK(prs_eenheid_code IS NOT NULL),
prs_eenheid_upper
VARCHAR2(6)
CONSTRAINT prs_c_prs_eenheid_upper CHECK(prs_eenheid_upper IS NOT NULL),
prs_eenheid_omschrijving
VARCHAR2(60)
CONSTRAINT prs_c_prs_eenheid_omschr CHECK(prs_eenheid_omschrijving IS NOT NULL),
prs_eenheid_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT prs_c_prs_eenheid_aanmaak CHECK(prs_eenheid_aanmaak IS NOT NULL),
prs_eenheid_verwijder
DATE
DEFAULT NULL,
CONSTRAINT prs_u_prs_eenheid_upper UNIQUE(prs_eenheid_upper, prs_eenheid_verwijder)
);
CREATE SEQUENCE prs_s_prs_eenheid_key MINVALUE 1;
DEFINIEER_VIEW_AANWEZIG(prs_eenheid, prs_eenheid_verwijder,
prs_v_aanwezigeenheid,PRS_BIBLIOTHEEK_PRIVILEGE);
ALTER TABLE prs_afdeling
ADD
(
prs_eenheid_key NUMBER(10)
CONSTRAINT prs_r_prs_eenheid_key REFERENCES prs_eenheid(prs_eenheid_key)
);
DEFINIEER_VIEW_AANWEZIG(prs_afdeling,
prs_afdeling_verwijder,
prs_v_aanwezigafdeling,
PRS_NORMAAL_PRIVILEGE);
CREATE_TRIGGER(prs_t_prs_eenheid_B_IU)
BEFORE INSERT OR UPDATE ON prs_eenheid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_eenheid_key,prs_s_prs_eenheid_key);
UPDATE_UPPER(prs_eenheid_code, prs_eenheid_upper);
CHECK_NOG_REFERENCES(prs_eenheid, prs_eenheid_verwijder, prs_v_aanwezigafdeling,
prs_eenheid_key, 'prs_m179');
UPDATE_AANMAAKDATUM(prs_eenheid, prs_eenheid_aanmaak);
END;
/
#ifdef AKZ
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_CODE' , 'De company code is niet ingevuld.', 'The Company code has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_UPPER' , 'De company code is niet ingevuld.', 'The Company code has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_OMSCHR' , 'De naam van de Company is niet ingevuld.', 'The name of the Company has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_KEY' , 'De Company is niet geselecteerd.', 'The Company is not selected.');
DEF_FAC_MESSAGE ('PRS_R_PRS_EENHEID_KEY' , 'Verwijderen niet toegestaan, er zijn nog afdelingen gekoppeld aan deze Company.','Can not delete, there are still references of departments to this Company.');
#else
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_CODE' , 'De code van de Business Unit is niet ingevuld.', 'Code of the Business Unit has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_UPPER' , 'De code van de Business Unit is niet ingevuld.', 'Code of the Business Unit has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_OMSCHR' , 'De naam van de Business Unit is niet ingevuld.', 'The name of the Company has not been entered.');
DEF_FAC_MESSAGE ('PRS_C_PRS_EENHEID_KEY' , 'De Business Unit is niet geselecteerd.' , 'The Company is not selected.');
DEF_FAC_MESSAGE ('PRS_R_PRS_EENHEID_KEY' , 'Verwijderen niet toegestaan, er zijn nog afdelingen gekoppeld aan deze B.Unit.','There are still references of persons or departments to this Business Unit.');
#endif //AKZ
DEF_FAC_MESSAGE ('PRS_U_PRS_EENHEID_UPPER' ,'Het veld ''Code'' is niet uniek.');
CREATE_TRIGGER(prs_t_prs_afdeling_B_IU)
BEFORE INSERT OR UPDATE ON prs_afdeling
FOR EACH ROW
BEGIN
-- LET OP : Deze trigger is ook gedefinieerd in RES !!
UPDATE_PRIMARY_KEY(prs_afdeling_key, prs_s_prs_afdeling_key);
UPDATE_UPPER(prs_afdeling_naam, prs_afdeling_upper);
CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder
,prs_v_aanwezigperslid, prs_afdeling_key, 'prs_m015');
UPDATE_AANMAAKDATUM(prs_afdeling, prs_afdeling_aanmaak);
--
-- 6/20/97/AH #1312, De CASCADE-verwijderen van
-- PRS_PERSLIDWERKPLEK verplaatst naar PRS011/Verwijderen. In de trigger een
-- RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen.
--
CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder
,prs_v_aanwezigperslidwerkplek, prs_afdeling_key, 'prs_m172');
--
-- Afdeling mag alleen verwijderd worden als deze geen objecten meer in het bezit heeft.
--
DECLARE
dummy VARCHAR2(1);
BEGIN
IF :new.prs_afdeling_verwijder IS NOT NULL
THEN
SELECT 'x'
INTO dummy
FROM ins_deel
WHERE ins_deel_verwijder IS NULL
AND ins_alg_ruimte_type = 'A'
AND ins_alg_ruimte_key = :old.prs_afdeling_key;
APPLICATION_ERROR(-20000,'prs_m173');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000,'prs_m173');
END;
--
-- We blijven veld prs_afdeling_eenheid (voorlopig) redundant gebruiken, anders veel te veel forms aan te passen
--
IF:new.prs_afdeling_verwijder IS NULL
THEN
IF :new.prs_eenheid_key IS NOT NULL
OR :old.prs_eenheid_key <> :new.prs_eenheid_key
THEN
DECLARE
Eenheid prs_afdeling.prs_afdeling_eenheid%TYPE;
BEGIN
SELECT prs_eenheid_code INTO Eenheid
FROM prs_eenheid
WHERE prs_eenheid_key = :new.prs_eenheid_key;
--
:new.prs_afdeling_eenheid := Eenheid;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN NULL;
END;
END IF;
END IF;
END;
/
CREATE_TRIGGER(prs_t_prs_perslid_B_IU)
BEFORE INSERT OR UPDATE ON prs_perslid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys);
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper);
UPDATE_UPPER(prs_perslid_initialen, prs_perslid_init_upper);
UPDATE_UPPER(prs_perslid_oslogin, prs_perslid_oslogin);
UPDATE_AANMAAKDATUM(prs_perslid, prs_perslid_aanmaak);
CHECK_NOG_REFERENCES(prs_perslid, prs_perslid_verwijder
,prs_v_aanwezigperslidwerkplek, prs_perslid_key, 'prs_m174');
#ifdef MLD
-- Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en
-- uitvoerende deze PERSLID.
IF :new.prs_perslid_verwijder IS NOT NULLDATUM
THEN
DECLARE
dummy VARCHAR2(1);
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_upper = 'MLD_UITGEGEVEN'
AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key;
APPLICATION_ERROR(-20000, 'prs_m085');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'prs_m085');
END;
END IF;
#endif // MLD
-- Persoon mag alleen verwijderd worden als deze geen objecten meer in het bezit heeft.
-- Dit geldt alleen voor objecten die 'van de organisatie' zijn, d.i.
-- ins_discipline_min_level <> 3. Deze mocht de gebruiker zelf bijhouden
DECLARE
dummy VARCHAR2(1);
BEGIN
IF :new.prs_perslid_verwijder IS NOT NULL
THEN
SELECT 'x'
INTO dummy
FROM ins_v_aanwezigdeel D, ins_tab_discipline DI
WHERE ins_alg_ruimte_type = 'P'
AND ins_alg_ruimte_key = :old.prs_perslid_key
AND DI.ins_discipline_key = D.ins_discipline_key
AND DI.ins_discipline_min_level <> 3;
APPLICATION_ERROR(-20000,'prs_m175');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000,'prs_m175');
END;
-- Tenslotte: ruim de objecten op, d.i. de objecten die ik zelf mocht beheren, en
-- de objecten die reeds vervallen waren. Ruim ook autorisaties op.
BEGIN
IF :new.prs_perslid_verwijder IS NOT NULL
THEN
DELETE FROM FAC_GEBRUIKERSGROEP WHERE PRS_PERSLID_KEY = :old.prs_perslid_key;
DELETE FROM FAC_GEBRUIKER WHERE FAC_GEBRUIKER_USERNAME = :old.prs_perslid_oslogin;
DELETE FROM INS_DEEL WHERE ins_deel_key IN
(SELECT D.ins_deel_key
FROM ins_deel D, ins_tab_discipline DI
WHERE ins_alg_ruimte_type = 'P'
AND ins_alg_ruimte_key = :old.prs_perslid_key
AND DI.ins_discipline_key = D.ins_discipline_key
AND (DI.ins_discipline_min_level = 3 OR ins_deel_verwijder IS NOT NULL));
END IF;
END;
END;
/
create unique index prs_i_prs_perslid4 on prs_perslid(prs_perslid_oslogin);
#endif // PRS
#ifdef MLD
ALTER TABLE mld_stdmelding
ADD
(
mld_stdmelding_notfrontend
NUMBER(1)
DEFAULT 0
);
#endif // MLD
#ifdef RES
#endif // RES
#ifdef BES
#endif // BES
#ifdef BEZ
ALTER TABLE bez_afspraak
ADD bez_afspraak_eind DATE;
ALTER TABLE bez_bezoekers
ADD bez_bezoekers_done DATE;
#endif // BEZ
#ifdef WEB
#endif // WEB
#ifdef SCH
#endif // SCH
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.22'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.22'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
DEF_FAC_MESSAGE ('MLD_M239', 'Herk. tekst niet zichtbaar voor Frontend user web','Standardtext not visible for Frontend users web');
#endif // FAC

View File

@@ -1,676 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.22 naar 4.23
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.22 naar 04.23
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.22 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $422to423.SQL
PROMPT SPOOL $422to423.LST;
UPDMOD(FAC,422to423)
UPDMOD(ALG,422to423)
UPDMOD(PRS,422to423)
UPDMOD(INS,422to423)
UPDMOD(MLD,422to423)
UPDMOD(CAD,422to423)
UPDMOD(AKZ,422to423)
UPDMOD(PRJ,422to423)
UPDMOD(RES,422to423)
UPDMOD(BES,422to423)
UPDMOD(BEZ,422to423)
UPDMOD(SCH,422to423)
UPDMOD(SLE,422to423)
UPDMOD(WEB,422to423)
UPDMOD(PRA,422to423)
UPDATE_VERSION('04.23');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $422to423.SQL
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level) VALUES('ALG_RAP_GB', 'Gebruikersrapporten genereren','ALG',1);
#endif //ALG
#ifdef INS
CREATE OR REPLACE PACKAGE Ins AS
PROCEDURE Ins_Update_Kenmerkdeel(deel_key IN NUMBER,kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2);
PROCEDURE Kmd_Insert(deel_key IN NUMBER,kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2);
PROCEDURE Kmd_Delete(kenmerkdeel_key IN NUMBER,historymode IN VARCHAR2);
PROCEDURE Kmd_Update(kenmerkdeel_key IN NUMBER, deel_key IN NUMBER,kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2);
END Ins;
/
CREATE OR REPLACE PACKAGE BODY Ins AS
PROCEDURE Ins_Update_Kenmerkdeel(deel_key IN NUMBER,kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2) IS
v_kenmerkdeel_key NUMBER;
BEGIN
SELECT MAX(INS_KENMERKDEEL_KEY)
INTO v_kenmerkdeel_key
FROM INS_KENMERKDEEL
WHERE INS_DEEL_KEY = deel_key
AND INS_KENMERK_KEY = kenmerk_key
AND (INS_KENMERKDEEL_VERWIJDER IS NULL
OR INS_KENMERKDEEL_VERWIJDER BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE + 1));
Ins.kmd_update(v_kenmerkdeel_key,deel_key,kenmerk_key,waarde,historymode);
IF (v_kenmerkdeel_key IS NULL)
THEN
Ins.kmd_insert(deel_key,kenmerk_key,waarde,historymode);
END IF;
END Ins_Update_Kenmerkdeel;
PROCEDURE Kmd_Insert(deel_key IN NUMBER,kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2) IS
BEGIN
IF waarde IS NOT NULL
THEN
INSERT INTO INS_KENMERKDEEL
( ins_kenmerk_key
, ins_deel_Key
, ins_kenmerkdeel_waarde)
VALUES(kenmerk_key
, Deel_Key
, waarde);
END IF;
END Kmd_Insert;
PROCEDURE Kmd_Delete(kenmerkdeel_key IN NUMBER,historymode IN VARCHAR2) IS
BEGIN
IF Historymode = '0'
THEN
--NON HISTORY MODE
DELETE FROM INS_KENMERKDEEL
WHERE ins_kenmerkdeel_key = kenmerkdeel_key;
ELSE
--HISTORY MODE
UPDATE INS_KENMERKDEEL
SET ins_kenmerkdeel_verwijder = SYSDATE
WHERE ins_kenmerkdeel_key = kenmerkdeel_key;
END IF;
END Kmd_Delete;
PROCEDURE Kmd_UPDATE(kenmerkdeel_key IN NUMBER, deel_key IN NUMBER, kenmerk_key IN NUMBER,waarde IN VARCHAR2,historymode IN VARCHAR2) IS
v_kenmerkdeel NUMBER;
BEGIN
IF Historymode = '0'
THEN
UPDATE INS_KENMERKDEEL
SET ins_kenmerkdeel_waarde = waarde
WHERE INS_KENMERKDEEL_KEY = kenmerkdeel_key;
ELSE
-- Object 'verwijderd' door ins_kenmerkdeel_verwijder NOT NULL te maken.
IF(waarde IS NULL)
THEN
Ins.kmd_delete(kenmerkdeel_key,historymode);
ELSE
BEGIN
SELECT MAX(INS_KENMERKDEEL_KEY)
INTO v_kenmerkdeel
FROM INS_KENMERKDEEL
WHERE (INS_KENMERKDEEL_VERWIJDER IS NULL
OR INS_KENMERKDEEL_VERWIJDER BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE + 1)
OR INS_KENMERKDEEL_VERWIJDER < TRUNC(SYSDATE))
AND ins_deel_key = deel_key
AND ins_kenmerk_key = kenmerk_key;
UPDATE INS_KENMERKDEEL
SET ins_kenmerkdeel_waarde = waarde
, ins_kenmerkdeel_verwijder = NULL
WHERE INS_KENMERKDEEL_KEY = v_kenmerkdeel;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
UPDATE INS_KENMERKDEEL
SET ins_kenmerkdeel_verwijder = SYSDATE
WHERE INS_KENMERKDEEL_KEY = kenmerkdeel_key;
-- nieuw object toevoegen.
INSERT INTO INS_KENMERKDEEL
( ins_kenmerk_key
, ins_deel_key
, ins_kenmerkdeel_waarde)
VALUES(kenmerk_key
, deel_key
, waarde);
END;
END IF;
END IF;
END Kmd_UPDATE;
END Ins;
/
ALTER TABLE INS_KENMERKDEEL DROP CONSTRAINT INS_U_INS_KENMERKDEEL;
ALTER TABLE INS_KENMERKDEEL
ADD CONSTRAINT INS_U_INS_KENMERKDEEL
UNIQUE(INS_KENMERK_KEY, INS_DEEL_KEY, INS_KENMERKDEEL_VERWIJDER);
INSERT INTO FAC_ENTITY_NAME
(FAC_ENTITY_SYSTEM_NAME,FAC_ENTITY_USER_NAME,FAC_ENTITY_USER_NAME_M,FAC_ENTITY_USER_NAME_PRE)
VALUES ('INS_EMail','EMail',NULL,NULL);
DEFINIEER_VIEW_AANWEZIG(ins_kenmerkdeel, ins_kenmerkdeel_verwijder,
ins_v_aanwezigkenmerkdeel, INS_NORMAAL_PRIVILEGE);
CREATE_VIEW(ins_v_srtdeel_kenmerkdeel, INS_BIBLIOTHEEK_PRIVILEGE)
(ins_kenmerk_key,
ins_srtkenmerk_key,
ins_kenmerk_niveau,
ins_kenmerk_verplicht,
ins_kenmerk_toonbaar,
ins_kenmerk_uniek,
ins_kenmerk_locatiekolom,
ins_kenmerk_volgnummer,
ins_srtkenmerk_omschrijving,
ins_srtkenmerk_dimensie,
ins_srtkenmerk_kenmerktype,
ins_srtkenmerk_lengte,
ins_srtkenmerk_dec,
ins_srtkenmerk_nmin,
ins_srtkenmerk_nmax,
ins_refsrtkenmerk_key,
ins_srtdeel_key,
ins_srtgroep_key,
ins_discipline_key,
ins_kenmerkdeel_key,
ins_deel_key,
ins_kenmerkdeel_waarde) AS
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
INS_KD.ins_kenmerkdeel_key,
INS_D.ins_deel_key,
INS_KD.ins_kenmerkdeel_waarde
FROM ins_v_aanwezigdeel INS_D,
ins_v_aanwezigkenmerkdeel INS_KD,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_deel_key = INS_KD.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND INS_SDK.ins_kenmerk_key = INS_KD.ins_kenmerk_key
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
INS_D.ins_deel_key,
NULL
FROM ins_v_aanwezigdeel INS_D,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND NOT EXISTS (SELECT INS_KD.ins_deel_key
FROM ins_v_aanwezigkenmerkdeel INS_KD
WHERE INS_KD.ins_deel_key = INS_D.ins_deel_key
AND INS_KD.ins_kenmerk_key = INS_SDK.ins_kenmerk_key)
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_uniek,
INS_SDK.ins_kenmerk_locatiekolom,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
NULL
FROM ins_v_srtdeel_kenmerk INS_SDK;
CREATE_VIEW(ins_v_srtonderdeel_kenmerkdeel,INS_NORMAAL_PRIVILEGE)
(ins_kenmerk_key,
ins_srtkenmerk_key,
ins_kenmerk_niveau,
ins_kenmerk_verplicht,
ins_kenmerk_toonbaar,
ins_kenmerk_volgnummer,
ins_srtkenmerk_omschrijving,
ins_srtkenmerk_dimensie,
ins_srtkenmerk_kenmerktype,
ins_srtkenmerk_lengte,
ins_srtkenmerk_dec,
ins_srtkenmerk_nmin,
ins_srtkenmerk_nmax,
ins_refsrtkenmerk_key,
ins_srtdeel_key,
ins_srtgroep_key,
ins_discipline_key,
ins_kenmerkdeel_key,
ins_deel_key,
ins_kenmerkdeel_waarde) AS
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
INS_KD.ins_kenmerkdeel_key,
INS_D.ins_deel_key,
INS_KD.ins_kenmerkdeel_waarde
FROM ins_deel INS_D,
ins_v_aanwezigkenmerkdeel INS_KD,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_deel_key = INS_KD.ins_deel_key
AND INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND INS_SDK.ins_kenmerk_key = INS_KD.ins_kenmerk_key
AND INS_D.ins_deel_parent_key IS NOT NULL
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
INS_D.ins_deel_key,
NULL
FROM ins_deel INS_D,
ins_v_srtdeel_kenmerk INS_SDK
WHERE INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key
AND INS_D.ins_deel_parent_key IS NOT NULL
AND NOT EXISTS (SELECT INS_KD.ins_deel_key
FROM ins_v_aanwezigkenmerkdeel INS_KD
WHERE INS_KD.ins_deel_key = INS_D.ins_deel_key
AND INS_KD.ins_kenmerk_key = INS_SDK.ins_kenmerk_key)
UNION
SELECT INS_SDK.ins_kenmerk_key,
INS_SDK.ins_srtkenmerk_key,
INS_SDK.ins_kenmerk_niveau,
INS_SDK.ins_kenmerk_verplicht,
INS_SDK.ins_kenmerk_toonbaar,
INS_SDK.ins_kenmerk_volgnummer,
INS_SDK.ins_srtkenmerk_omschrijving,
INS_SDK.ins_srtkenmerk_dimensie,
INS_SDK.ins_srtkenmerk_kenmerktype,
INS_SDK.ins_srtkenmerk_lengte,
INS_SDK.ins_srtkenmerk_dec,
INS_SDK.ins_srtkenmerk_nmin,
INS_SDK.ins_srtkenmerk_nmax,
INS_SDK.ins_refsrtkenmerk_key,
INS_SDK.ins_srtdeel_key,
INS_SDK.ins_srtgroep_key,
INS_SDK.ins_discipline_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
NULL
FROM ins_v_srtdeel_kenmerk INS_SDK;
#endif // INS
#ifdef PRS
ALTER TABLE PRS_EENHEID
ADD (prs_bedrijf_key NUMBER(10));
CREATE_TRIGGER(prs_t_prs_eenheid_B_IU)
BEFORE INSERT OR UPDATE ON prs_eenheid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_eenheid_key,prs_s_prs_eenheid_key);
UPDATE_UPPER(prs_eenheid_code, prs_eenheid_upper);
CHECK_NOG_REFERENCES(prs_eenheid, prs_eenheid_verwijder, prs_v_aanwezigafdeling,
prs_eenheid_key, 'prs_m179');
UPDATE_AANMAAKDATUM(prs_eenheid, prs_eenheid_aanmaak);
IF :NEW.prs_bedrijf_key <> :OLD.prs_bedrijf_key
OR :OLD.prs_bedrijf_key IS NULL
OR :NEW.prs_bedrijf_key IS NULL
THEN
UPDATE PRS_AFDELING
SET prs_bedrijf_key = :NEW.prs_bedrijf_key
WHERE prs_eenheid_key = :NEW.prs_eenheid_key
AND prs_afdeling_verwijder IS NULL;
END IF;
END;
/
INSERT INTO FAC_ENTITY_NAME
(FAC_ENTITY_SYSTEM_NAME,FAC_ENTITY_USER_NAME,FAC_ENTITY_USER_NAME_M,FAC_ENTITY_USER_NAME_PRE)
VALUES('PRS_PERSLID_MOBIELNR','Mobielnr.',NULL,NULL);
#endif // PRS
#ifdef MLD
DROP TRIGGER fac_t_web_mes_on_changemld;
CREATE_TRIGGER(web_t_web_mes_on_changemld)
AFTER INSERT OR UPDATE ON MLD_MELDING
FOR EACH ROW
BEGIN
DECLARE mes VARCHAR2(255);
actkey NUMBER;
code VARCHAR2(6);
keepmes NUMBER;
stdmld VARCHAR2(30);
disc VARCHAR2(30);
BEGIN
IF :OLD.MLD_MELDING_DATUM IS NULL AND :NEW.MLD_MELDING_DATUM IS NOT NULL THEN
code := 'NEWMLD';
ELSIF :OLD.MLD_MELDING_AFGEWEZEN IS NULL AND :NEW.MLD_MELDING_AFGEWEZEN IS NOT NULL THEN
code := 'AFWMLD';
ELSIF :OLD.MLD_MELDING_INGEZIEN IS NULL AND :NEW.MLD_MELDING_INGEZIEN IS NOT NULL THEN
code := 'INGMLD';
ELSIF :OLD.MLD_MELDING_GEACCEPTEERD IS NULL AND :NEW.MLD_MELDING_GEACCEPTEERD IS NOT NULL THEN
code := 'ACPMLD';
ELSIF :OLD.MLD_MELDING_VERWERKT IS NULL AND :NEW.MLD_MELDING_VERWERKT IS NOT NULL THEN
code := 'VERMLD';
ELSIF :OLD.MLD_MELDING_AFGEMELD IS NULL AND :NEW.MLD_MELDING_AFGEMELD IS NOT NULL THEN
code := 'AFMMLD';
ELSE
code := 'UPDMLD';
END IF;
BEGIN
SELECT WEB_USER_MESS_TEXT_DSC, WEB_USER_MESS_ACTIONS_KEY
INTO mes,actkey
FROM WEB_USER_MESS_TEXT
WHERE WEB_USER_MESS_TEXT_CODE = code;
EXCEPTION WHEN NO_DATA_FOUND THEN NULL;
END;
-- We can customize the events to trigger information to the user by the content of web_user_mess_text
IF actkey IS NOT NULL THEN
SELECT M.mld_stdmelding_omschrijving, D.ins_discipline_omschrijving
INTO stdmld,disc
FROM mld_stdmelding M, mld_discipline D
WHERE M.mld_ins_discipline_key=D.ins_discipline_key
AND M.mld_stdmelding_key=:new.mld_stdmelding_key;
INSERT INTO WEB_USER_MESSAGES
(web_user_message_key,
prs_perslid_key_sender,
prs_perslid_key_receiver,
web_user_mess_actions_key,
web_user_mess_dsc,
web_user_mess_action_status,
web_user_mess_action_params) VALUES
(WEB_S_WEB_MESSAGE_KEY.NEXTVAL,
NULL,
:NEW.PRS_PERSLID_KEY,
actkey,
REPLACE(REPLACE(REPLACE (mes,'##DISC##',disc),'##STDMLD##',stdmld),'##KEY##',:NEW.mld_melding_key),
1,
:NEW.MLD_MELDING_KEY);
END IF;
keepmes := 6;
DELETE FROM WEB_USER_MESSAGES WHERE WEB_USER_MESS_ACTION_DATUM < (SYSDATE - keepmes);
END;
END;
/
-- Enhanced functionality. Update existing messagelib. No problem if record does not exist.
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is geregistreerd'
WHERE web_user_mess_text_code='NEWMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is afgewezen'
WHERE web_user_mess_text_code='AFWMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is ingezien'
WHERE web_user_mess_text_code='INGMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is geaccepteerd'
WHERE web_user_mess_text_code='ACPMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is gereed gemeld'
WHERE web_user_mess_text_code='AFMMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is verwerkt'
WHERE web_user_mess_text_code='VERMLD';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc='Melding ##KEY## (##DISC##/##STDMLD##) is gewijzigd'
WHERE web_user_mess_text_code='UPDMLD';
ALTER TABLE mld_stdmelding ADD mld_stdmelding_kostensoort VARCHAR2(7);
--redefine views
CREATE_VIEW(MLD_discipline, MLD_BIBLIOTHEEK_PRIVILEGE)
AS
SELECT * FROM ALL_discipline WHERE ins_discipline_module = 'MLD';
DEFINIEER_VIEW_AANWEZIG(MLD_discipline, ins_discipline_verwijder,
MLD_v_aanwezigdiscipline,MLD_BIBLIOTHEEK_PRIVILEGE);
CREATE_VIEW(mld_v_ins_discipline, MLD_NORMAAL_PRIVILEGE) AS
SELECT * FROM MLD_v_aanwezigdiscipline;
CREATE_VIEW(mld_v_stdmelding_gegevens, MLD_NORMAAL_PRIVILEGE) AS
SELECT MLD_SM.mld_stdmelding_key,
MLD_SM.mld_ins_discipline_key,
MLD_D.ins_discipline_omschrijving,
MLD_SM.mld_stdmelding_omschrijving,
MLD_SM.mld_stdmelding_upper,
MLD_SM.mld_stdmelding_urgentie,
MLD_SM.mld_stdmelding_kostensoort
FROM mld_stdmelding MLD_SM, mld_v_ins_discipline MLD_D
WHERE MLD_SM.mld_ins_discipline_key = MLD_D.ins_discipline_key;
#endif // MLD
#ifdef RES
#endif // RES
#ifdef BES
#endif // BES
#ifdef BEZ
ALTER TABLE bez_afspraak
MODIFY bez_afspraak_opmerking VARCHAR2(320);
ALTER TABLE bez_bezoekers
ADD bez_bezoekers_out DATE;
#endif // BEZ
#ifdef WEB
DEF_FAC_FUNCTIE('WEB_FGPLAN', 'Graphics:Plattegronden', 'WEB', 1);
DEF_FAC_FUNCTIE('WEB_HLPADM', 'Beheer: WebHelp aanpassen', 'WEB', 2);
CREATE_TABLE(web_helpsystem,WEB_BIBLIOTHEEK_PRIVILEGE)
(
web_helpsystem_key
NUMBER(10) PRIMARY KEY,
full_file_name
VARCHAR2(256),
control_id
VARCHAR2(256),
control_title
VARCHAR2(256),
tab_index
NUMBER(5),
help_text
LONG
);
CREATE INDEX web_i_web_helpsystem_id ON web_helpsystem(full_file_name,control_id);
CREATE SEQUENCE web_s_helpsys_key MINVALUE 1;
#endif // WEB
#ifdef SCH
#endif // SCH
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.23'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.23'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
#endif // FAC
#ifdef PRA
CREATE_VIEW(prs_v_perslidafdeling_gegevens, PRS_BIBLIOTHEEK_PRIVILEGE)
(prs_afdeling_key
,prs_afdeling_naam
,prs_eenheid_key
,prs_perslid_key
,prs_perslidafdeling_key)
AS
SELECT A.prs_afdeling_key, A.prs_afdeling_naam, A.prs_eenheid_key, P.prs_perslid_key,1
FROM prs_v_aanwezigafdeling A,prs_v_aanwezigperslid P, PRS_PERSLIDAFDELING PA
WHERE PA.prs_perslid_key = P.prs_perslid_key
AND PA.prs_afdeling_key = A.prs_afdeling_key
UNION
SELECT AA.prs_afdeling_key, AA.prs_afdeling_naam, AA.prs_eenheid_key, PP.prs_perslid_key,0
FROM prs_v_aanwezigafdeling AA,prs_v_aanwezigperslid PP
WHERE NOT EXISTS (SELECT A.prs_afdeling_key,P.prs_perslid_key
FROM prs_v_aanwezigafdeling A,prs_v_aanwezigperslid P, PRS_PERSLIDAFDELING PA
WHERE PA.prs_perslid_key = P.prs_perslid_key
AND PA.prs_afdeling_key = A.prs_afdeling_key
AND A.prs_afdeling_key = AA.prs_afdeling_key
AND P.prs_perslid_key = PP.prs_perslid_key);
ALTER TABLE prs_perslid_wijziging
ADD
(
prs_perslid_wijziging_pz_key
NUMBER(10)
CONSTRAINT prs_c_prs_perslid_pz_key1 CHECK (prs_perslid_wijziging_pz_key IS NOT NULL)
CONSTRAINT prs_r_prs_perslid_pz_key1 REFERENCES prs_perslid(prs_perslid_key));
#endif // PRA

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,990 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.25 naar 4.26
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.25 naar 4.26
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.25 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $425to426.SQL
PROMPT SET ECHO ON
PROMPT SPOOL $425to426.LST;
UPDMOD(FAC,425to426)
UPDMOD(ALG,425to426)
UPDMOD(PRS,425to426)
UPDMOD(INS,425to426)
UPDMOD(MLD,425to426)
UPDMOD(CAD,425to426)
UPDMOD(AKZ,425to426)
UPDMOD(PRJ,425to426)
UPDMOD(RES,425to426)
UPDMOD(BES,425to426)
UPDMOD(BEZ,425to426)
UPDMOD(SCH,425to426)
UPDMOD(SLE,425to426)
UPDMOD(CNT,425to426)
UPDMOD(WEB,425to426)
UPDMOD(PRA,425to426)
UPDATE_VERSION('04.26.1');
COMMIT;
PROMPT SPOOL OFF;
PROMPT START $425to426after.SQL
SPOOL OFF
SPOOL $425to426after.sql
PROMPT SET ECHO ON
PROMPT SPOOL $425to426after.lst
-- Geef execute rechten aan de laagste role voor alle stored packages, procedures etc.
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT DISTINCT 'GRANT execute ON ' || US.name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_source US;
-- Geef alle rechten aan de laagste role voor alle sequences
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
/* ADD SYNONYMS ROUTINE HERE FOR ALL SECONDARY USERS */
PROMPT SPOOL OFF
SPOOL OFF
START $425to426.SQL
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
CREATE_VIEW(alg_v_ruimte_gegevens,ALG_NORMAAL_PRIVILEGE) AS
SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key,
ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code,
ALG_L.alg_locatie_upper,
ALG_G.alg_gebouw_key, ALG_G.alg_srtgebouw_key,
ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper,
ALG_V.alg_verdieping_volgnr,
ALG_V.alg_verdieping_tekening, ALG_R.alg_ruimte_key,
ALG_S.alg_srtruimte_key, ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_acadkey,
ALG_R.alg_ruimte_omschrijving, ALG_R.alg_ruimte_upper_nr,
ALG_S.alg_srtruimte_omschrijving,
ALG_R.alg_ruimte_vloer_omschrijving,
ALG_R.alg_ruimte_bruto_vloeropp,
ALG_R.alg_ruimte_opp_gevelglas,
ALG_R.alg_ruimte_opp_separatieglas,
ALG_R.alg_ruimte_opp_gevelbekleding,
ALG_G.alg_gebouw_code ||' - '
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|| ALG_R.alg_ruimte_nr ALG_RUIMTE_AANDUIDING,
ALG_R.alg_ruimte_omtrek,
ALG_R.alg_ruimte_inhoud,
ALG_R.alg_ruimte_getekend
,ALG_R.ALG_RUIMTE_OPMERKING
FROM alg_locatie ALG_L, alg_gebouw ALG_G,
alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
alg_v_aanwezigsrtruimte ALG_S
WHERE
ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key AND
ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND
ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND
ALG_R.alg_srtruimte_key = ALG_S.alg_srtruimte_key (+);
CREATE OR REPLACE FUNCTION ALG_F_GetRefWaarde (sk_key IN NUMBER, waarde IN VARCHAR2) RETURN VARCHAR2 IS
sResult VARCHAR2(255);
kolomnaam VARCHAR2(50);
kolomtxt VARCHAR2(50);
objectnaam VARCHAR2(50);
tab_key NUMBER(10);
ttype VARCHAR2(1);
BEGIN
-- Doel is het resultaat van:
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde
-- of
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
SELECT RSK.alg_refkenmerk_kolomnaam,
RSK.alg_refkenmerk_kolomtxt,
RSK.alg_refkenmerk_objectnaam,
RSK.fac_usrtab_key,
UT.fac_usrtab_view
INTO kolomnaam, kolomtxt,objectnaam, tab_key, ttype
FROM alg_REFKENMERK RSK, alg_KENMERK SK, fac_usrtab UT
WHERE SK.alg_kenmerk_key=sk_key
AND RSK.fac_usrtab_key=UT.fac_usrtab_key(+)
AND SK.alg_refkenmerk_key=RSK.alg_refkenmerk_key;
IF tab_key IS NULL OR ttype = 'V' OR ttype IS NULL THEN
-- select [kolomtxt] into sResult from [objectnaam] where [kolomnaam]=waarde
-- maak een cursor/recordgroup oid voor deze query. Precies 1 rowresultaat
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde;
ELSE
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde||' and fac_usrtab_key = '||TO_CHAR(tab_key);
END IF;
RETURN sResult;
END;
/
#endif //ALG
#ifdef CAD
CREATE_VIEW(cad_v_lpn_ins_deel_2, FAC_NORMAAL_PRIVILEGE) AS
SELECT
D.ins_deel_key,
ins_srtkenmerk_omschrijving,
KD.ins_kenmerkdeel_waarde ||' '|| SK.ins_srtkenmerk_dimensie INS_KENMERKDEEL_WAARDE2
FROM
ins_srtkenmerk SK,
ins_kenmerk K,
ins_kenmerkdeel KD,
ins_deel D
WHERE SK.ins_srtkenmerk_key=K.ins_srtkenmerk_key
AND K.ins_kenmerk_key=KD.ins_kenmerk_key
AND KD.ins_deel_key=D.ins_deel_key
AND KD.ins_kenmerkdeel_verwijder IS NULL;
#endif// CAD
#ifdef INS
CREATE OR REPLACE PACKAGE Ins AS
PROCEDURE Ins_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER
,deel_key IN NUMBER
,kenmerk_key IN NUMBER
,waarde IN VARCHAR2
,historymode IN VARCHAR2
,mselect IN VARCHAR2);
PROCEDURE Kmd_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER
,deel_key IN NUMBER
,kenmerk_key IN NUMBER
,waarde IN VARCHAR2
,historymode IN VARCHAR2
,mselect IN VARCHAR2);
PROCEDURE Kmd_Insert(p_deel_key IN NUMBER
,p_kenmerk_key IN NUMBER
,p_waarde IN VARCHAR2
,p_historymode IN VARCHAR2);
PROCEDURE Kmd_Delete(p_kenmerkdeel_key IN NUMBER
,p_historymode IN VARCHAR2);
PROCEDURE Kmd_Update(p_kenmerkdeel_key IN NUMBER
,p_waarde IN VARCHAR2
,p_historymode IN VARCHAR2);
END Ins;
/
CREATE OR REPLACE PACKAGE BODY Ins AS
PROCEDURE Ins_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER
,deel_key IN NUMBER
,kenmerk_key IN NUMBER
,waarde IN VARCHAR2
,historymode IN VARCHAR2
,mselect IN VARCHAR2) IS
v_history_mode fac_message.fac_message_text%TYPE;
BEGIN
-- Het is eigenlijk voldoende om hier alleen Kmd_Update()
-- aan te roepen omdat daar alle situaties worden
-- gecontroleerd en de bijbehorende actie wordt uitgevoerd.
-- De onderstaande Select zorgt er dus alleen voor dat
-- indien er geen actueel record bestaat, of een die
-- vandaag is gesloten er een nieuw record wordt gemaakt,
-- hetgeen in Kmd_Update() ook wordt gedaan zodat de tweede
-- insert een foutmelding geeft.
-- Daarom alleen Kmd_Update() aanroepen met een dummy waarde
-- voor ins_kenmerkdeel_key.
--
IF historymode IS NULL
THEN
BEGIN
SELECT DECODE(fac_message_text,'TRUE','1','FALSE','0','0')
INTO v_history_mode
FROM fac_message
WHERE fac_message_code = 'FAC_HISTORYMODE_VALUE';
EXCEPTION
WHEN NO_DATA_FOUND THEN v_history_mode := '0';
END;
ELSE
v_history_mode := historymode;
END IF;
--
Ins.Kmd_Update_Kenmerkdeel(kenmerkdeel_key
,deel_key
,kenmerk_key
,waarde
,v_history_mode
,mselect);
END Ins_Update_Kenmerkdeel;
PROCEDURE Kmd_Insert(p_deel_key IN NUMBER
,p_kenmerk_key IN NUMBER
,p_waarde IN VARCHAR2
,p_historymode IN VARCHAR2) IS
BEGIN
IF p_waarde IS NOT NULL
THEN
INSERT INTO ins_kenmerkdeel
( ins_kenmerk_key
, ins_deel_Key
, ins_kenmerkdeel_waarde)
VALUES(p_kenmerk_key
, p_deel_key
, p_waarde);
END IF;
END Kmd_Insert;
PROCEDURE Kmd_Delete(p_kenmerkdeel_key IN NUMBER
,p_historymode IN VARCHAR2) IS
BEGIN
IF p_historymode = '0'
THEN
--NON HISTORY MODE
DELETE
FROM ins_kenmerkdeel
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
ELSE
--HISTORY MODE
UPDATE ins_kenmerkdeel
SET ins_kenmerkdeel_verwijder = SYSDATE
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
END IF;
END Kmd_Delete;
PROCEDURE Kmd_update(p_kenmerkdeel_key IN NUMBER
,p_waarde IN VARCHAR2
,p_historymode IN VARCHAR2) IS
BEGIN
UPDATE ins_kenmerkdeel
SET ins_kenmerkdeel_waarde = p_waarde
, ins_kenmerkdeel_verwijder = NULL
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
END Kmd_Update;
PROCEDURE Kmd_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER
,deel_key IN NUMBER
,kenmerk_key IN NUMBER
,waarde IN VARCHAR2
,historymode IN VARCHAR2
,mselect IN VARCHAR2) IS
v_kenmerkdeelkey NUMBER(10);
BEGIN
IF historymode = '0'
THEN
IF waarde IS NOT NULL
THEN
IF kenmerkdeel_key IS NOT NULL AND mselect='0'
THEN
Ins.Kmd_Update(kenmerkdeel_key
,waarde
,historymode);
ELSIF kenmerkdeel_key IS NULL AND mselect='1'
THEN
-- kenmerkdeel vanuit form in mselectmode is null
-- deelkey komt uit fac_selectie daar kan kenmerkdeel niet aan toegevoegd worden.
-- Oplossing : zoek a.h.v. Deelkey en Kenmerkkey de kenmerkdeel_key
-- Bij Insert is kenmerkdeel_key ook NULL, maar dit gaat goed aangezien mselect daar nooit '1' kan zijn.
BEGIN
SELECT ins_kenmerkdeel_Key
INTO v_kenmerkdeelkey
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = deel_key
AND ins_kenmerk_key = kenmerk_key;
--
Ins.Kmd_Update(v_kenmerkdeelkey
,waarde
,historymode);
EXCEPTION
WHEN NO_DATA_FOUND THEN
Ins.Kmd_Insert(deel_key
,kenmerk_key
,waarde
,historymode);
END;
ELSE
Ins.Kmd_Insert(deel_key
,kenmerk_key
,waarde
,historymode);
END IF;
ELSE
Ins.Kmd_Delete(kenmerkdeel_key
,historymode);
END IF;
ELSIF historymode = '1'
THEN
DECLARE
-- Zoek alle records voor een gegeven object en kenmerk
-- en zet de meest recente bovenaan.
--
CURSOR c_kenmerkdeel(p_kenmerk_key IN NUMBER
,p_deel_key IN NUMBER) IS
SELECT ins_kenmerkdeel_key
, trunc(ins_kenmerkdeel_aanmaak) ins_kenmerkdeel_aanmaak
, trunc(ins_kenmerkdeel_verwijder) ins_kenmerkdeel_verwijder
FROM ins_kenmerkdeel
WHERE ins_kenmerk_key = p_kenmerk_key
AND ins_deel_key = p_deel_key
ORDER BY ins_kenmerkdeel_key DESC
;
r_kenmerkdeel c_kenmerkdeel%ROWTYPE;
BEGIN
OPEN c_kenmerkdeel(kenmerk_key,deel_key);
FETCH c_kenmerkdeel INTO r_kenmerkdeel;
IF c_kenmerkdeel%NOTFOUND
THEN
-- Voor dit object en kenmerk bestaat nog geen record
-- dus toevoegen. Behalve als de toe te voegen waarde
-- null is, dan wil je niets toevoegen dus dan ook
-- geen actie.
IF waarde IS NOT NULL
THEN
Ins.Kmd_Insert(deel_key
,kenmerk_key
,waarde
,historymode);
END IF;
ELSE
-- Er bestaat een record voor het object en kenmerk.
--
IF waarde IS NOT NULL
THEN
-- Er is een nieuwe waarde voor een bepaald object en kenmerk.
--
IF r_kenmerkdeel.ins_kenmerkdeel_aanmaak <= trunc(sysdate)
AND r_kenmerkdeel.ins_kenmerkdeel_verwijder IS NULL
THEN
-- Het record is nog actueel, dus moet eerst gesloten worden
-- door het als verwijderd te markeren.
--
Ins.Kmd_Delete(r_kenmerkdeel.ins_kenmerkdeel_key
,historymode);
END IF;
--
-- Er bestaat nu tijdelijk geen actueel record meer voor
-- het object en kenmerk !!
--
IF r_kenmerkdeel.ins_kenmerkdeel_aanmaak < trunc(sysdate)
AND ( r_kenmerkdeel.ins_kenmerkdeel_verwijder <= trunc(sysdate)
OR r_kenmerkdeel.ins_kenmerkdeel_verwijder IS NULL)
THEN
-- Het laatste record voor kenmerk bij een object heeft langer
-- dan een dag bestaan. Voeg daarom een nieuwe toe.
--
Ins.Kmd_Insert(deel_key
,kenmerk_key
,waarde
,historymode);
ELSIF r_kenmerkdeel.ins_kenmerkdeel_aanmaak = trunc(sysdate)
THEN
-- Het record voor kenmerk bij een object is vandaag
-- aangemaakt dus wordt er geen nieuwe toegevoegd maar
-- de huidige aangepast.
--
Ins.Kmd_Update(r_kenmerkdeel.ins_kenmerkdeel_key
,waarde
,historymode);
END IF;
ELSE
-- De nieuwe waarde voor het object en kenmerk is leeg, dus
-- moet het als verwijderd gemarkeerd worden.
-- Behalve als er in MSelect-mode gewijzigd wordt.
--
IF mselect = '0'
THEN
Ins.Kmd_Delete(r_kenmerkdeel.ins_kenmerkdeel_key
,historymode);
END IF;
END IF;
END IF;
CLOSE c_kenmerkdeel;
END;
END IF;
END Kmd_Update_Kenmerkdeel;
END Ins;
/
CREATE OR REPLACE FUNCTION INS_F_GetRefWaarde (sk_key IN NUMBER, waarde IN VARCHAR2) RETURN VARCHAR2 IS
sResult VARCHAR2(255);
kolomnaam VARCHAR2(50);
kolomtxt VARCHAR2(50);
objectnaam VARCHAR2(50);
tab_key NUMBER(10);
ttype VARCHAR2(1); --Pseudo(T)able or (V)iew
BEGIN
-- Doel is het resultaat van:
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde
-- of
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
SELECT RSK.ins_refsrtkenmerk_kolomnaam,
RSK.ins_refsrtkenmerk_kolomtxt,
RSK.ins_refsrtkenmerk_objectnaam,
RSK.fac_usrtab_key,
UT.fac_usrtab_view
INTO kolomnaam, kolomtxt,objectnaam, tab_key, ttype
FROM INS_REFSRTKENMERK RSK , INS_SRTKENMERK SK, FAC_USRTAB UT
WHERE SK.ins_srtkenmerk_key=sk_key
AND RSK.fac_usrtab_key = UT.fac_usrtab_key (+)
AND SK.ins_refsrtkenmerk_key=RSK.ins_refsrtkenmerk_key;
IF tab_key IS NULL OR ttype = 'V' OR ttype IS NULL THEN
-- select [kolomtxt] into sResult from [objectnaam] where [kolomnaam]= waarde
-- maak een cursor/recordgroup oid voor deze query. Precies 1 row resultaat
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde;
ELSE
-- select [kolomtxt] from [objectnaam] where [kolomnaam]= waarde and fac_usrtab_key=tab_key
sResult:='Select '||kolomtxt||' from '||objectnaam||' where '||kolomnaam||'='||waarde||' AND fac_usrtab_key = '||TO_CHAR(tab_key);
END IF;
RETURN sResult;
END;
/
#endif //INS
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.26'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.26'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
DEF_FAC_MESSAGE ('FAC_HISTORYMODE_VALUE','TRUE','TRUE');
CREATE OR REPLACE PACKAGE webfac AS
FUNCTION fac_f_usrrap_query (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
FUNCTION fac_f_usrrap_orderby (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
END webfac;
/
CREATE OR REPLACE PACKAGE BODY webfac AS
FUNCTION fac_f_usrrap_query (p_tabelnaam VARCHAR2) RETURN VARCHAR2 IS
QueryString VARCHAR2(2000);
Kolomnaam VARCHAR(64);
BEGIN
DECLARE
CURSOR Zoek_label IS
SELECT column_name
, data_type
, data_length
, data_precision
, Column_id
FROM all_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = user
ORDER BY COLUMN_ID;
BEGIN
QueryString := 'Select ';
FOR LabelRec in zoek_label LOOP
IF LabelRec.data_type = 'NUMBER'
THEN
QueryString := QueryString ||'to_number(to_char('|| LabelRec.column_name ||',''99999999D9999'')) "'||LabelRec.column_name||'",';
ELSE
IF LabelRec.data_type = 'DATE'
THEN
QueryString := QueryString ||'to_char('|| LabelRec.column_name ||',''MM-DD-YYYY'') "'||LabelRec.column_name||'",';
ELSE
QueryString := QueryString ||' ' || LabelRec.column_name ||',';
END IF;
END IF;
END LOOP;
END;
QueryString := Substr(QueryString,1,(length(QueryString)-1))||' from '|| p_tabelnaam ;
RETURN QueryString;
END fac_f_usrrap_query;
FUNCTION fac_f_usrrap_orderby (p_tabelnaam VARCHAR2) RETURN VARCHAR2 IS
AantalRecords NUMBER(10);
OrderBy VARCHAR2(5);
BEGIN
SELECT count(*)
INTO AantalRecords
FROM all_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = user;
--
IF AantalRecords = 1
THEN
OrderBy := '1';
ELSIF AantalRecords = 2
THEN
OrderBy := '1,2';
ELSE
OrderBy := '1,2,3';
END IF;
RETURN ' ORDER BY ' || OrderBy;
END fac_f_usrrap_orderby;
END webfac;
/
#endif //FAC
#ifdef PRS
ALTER TABLE prs_eenheid MODIFY(prs_eenheid_code VARCHAR2(10));
ALTER TABLE prs_eenheid MODIFY(prs_eenheid_upper VARCHAR2(10));
CREATE OR REPLACE VIEW PRS_V_PERSLID_GEGEVENS ( PRS_PERSLID_KEY,
PRS_PERSLID_NAAM, PRS_PERSLID_UPPER, PRS_PERSLID_VOORLETTERS, PRS_PERSLID_VOORNAAM, PRS_PERSLID_INITIALEN,
PRS_PERSLID_INIT_UPPER, PRS_PERSLID_NR, PRS_PERSLID_TELEFOONNR, PRS_PERSLID_OSLOGIN,
PRS_PERSLID_WACHTWOORD, PRS_AFDELING_KEY, PRS_AFDELING_NAAM, PRS_AFDELING_UPPER, PRS_AFDELING_OMSCHRIJVING,
PRS_SRTPERSLID_OMSCHRIJVING, PRS_EENHEID_CODE, PRS_EENHEID_OMSCHRIJVING
) AS SELECT PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam,
PRS_P.prs_perslid_upper,
PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_voornaam,
PRS_P.prs_perslid_initialen,
PRS_P.prs_perslid_init_upper,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_telefoonnr,
PRS_P.prs_perslid_oslogin,
PRS_P.prs_perslid_wachtwoord,
PRS_P.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper,
PRS_A.prs_afdeling_omschrijving,
PRS_S.prs_srtperslid_omschrijving,
PRS_E.prs_eenheid_code,
PRS_E.prs_eenheid_omschrijving
FROM prs_v_aanwezigperslid PRS_P, prs_afdeling PRS_A,
prs_srtperslid PRS_S, prs_eenheid PRS_E
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key (+)
AND PRS_P.prs_srtperslid_key = PRS_S.prs_srtperslid_key
AND PRS_A.prs_eenheid_key = PRS_E.prs_eenheid_key (+);
CREATE_VIEW (prs_v_perslid_filter,PRS_NORMAAL_PRIVILEGE) AS
SELECT PL.prs_perslid_key
, SPL.prs_srtperslid_omschrijving -- Functie
, PL.prs_perslid_telefoonnr -- Telefoon
, SPL.prs_srtperslid_opp -- Functie opp.
, PL.prs_perslid_opp -- Toegestane opp.
, PL.prs_perslid_uurloon -- Uurloon
, AFD.prs_afdeling_kostenplaats -- Kostenplaats
, EEN.prs_eenheid_code prs_afdeling_eenheid -- Business Unit
FROM prs_v_aanwezigperslid PL , prs_v_aanwezigsrtperslid SPL, prs_v_aanwezigafdeling AFD, prs_v_aanwezigeenheid EEN
WHERE PL.prs_srtperslid_key = SPL.prs_srtperslid_key
AND PL.prs_afdeling_key = AFD.prs_afdeling_key (+)
AND AFD.prs_eenheid_key = EEN.prs_eenheid_key (+);
CREATE_VIEW(prs_v_werkplek_gegevens,PRS_NORMAAL_PRIVILEGE)
( prs_werkplek_key
, prs_werkplek_volgnr
, prs_werkplek_omschrijving
, prs_werkplek_opp
, prs_werkplek_module
, alg_ruimte_key
, alg_ruimte_nr
, alg_ruimte_upper_nr
, alg_ruimte_bruto_vloeropp
, alg_verdieping_key
, alg_verdieping_volgnr
, alg_verdieping_omschrijving
, alg_gebouw_key
, alg_gebouw_code
, alg_gebouw_omschrijving
, alg_gebouw_upper
, alg_locatie_key
, prs_werkplek_aanduiding
, prs_werkplek_getekend
, alg_ruimte_omschrijving
, prs_werkplek_vastopp )
AS SELECT PRS_W.prs_werkplek_key
, PRS_W.prs_werkplek_volgnr
, PRS_W.prs_werkplek_omschrijving
, PRS_P_PRS_BepaalWerkplekOpp(PRS_W.prs_werkplek_key
,ALG_R.alg_ruimte_key
,ALG_R.alg_ruimte_bruto_vloeropp
,PRS_W.prs_werkplek_vastopp
,PRS_W.prs_werkplek_opp
,NULL)
, PRS_W.prs_werkplek_module
, ALG_R.alg_ruimte_key
, ALG_R.alg_ruimte_nr
, ALG_R.alg_ruimte_upper_nr
, ALG_R.alg_ruimte_bruto_vloeropp
, ALG_V.alg_verdieping_key
, ALG_V.alg_verdieping_volgnr
, ALG_V.alg_verdieping_omschrijving
, ALG_G.alg_gebouw_key
, ALG_G.alg_gebouw_code
, ALG_G.alg_gebouw_omschrijving
, ALG_G.alg_gebouw_upper
, ALG_G.alg_locatie_key
, ALG_G.alg_gebouw_code ||' - '
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|| ALG_R.alg_ruimte_nr ||'/'
|| to_char(PRS_W.prs_werkplek_volgnr)
, PRS_W.prs_werkplek_getekend
, ALG_R.alg_ruimte_omschrijving
, PRS_W.prs_werkplek_vastopp
FROM all_v_aanwezigwerkplek PRS_W
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key;
#endif //PRS
#ifdef MLD
CREATE_VIEW(mld_v_melding_status_gegevens,MLD_NORMAAL_PRIVILEGE) AS
SELECT M.mld_melding_key,
M.mld_melding_status,
S.mld_statuses_omschrijving,
DECODE(mld_melding_status,
1,mld_melding_afgewezen,
2,mld_melding_datum,
3,mld_melding_ingezien,
4,mld_melding_geaccepteerd,
5,mld_melding_afgemeld,
6,mld_melding_verwerkt,
7,mld_melding_geaccepteerd,
NULL) mld_melding_lastdate,
M.mld_melding_datum,
'['||MD.ins_discipline_omschrijving||'/'||SM.mld_stdmelding_omschrijving||'] '||m.mld_melding_omschrijving mld_melding_omschrijving,
AF.prs_afdeling_key,AF.prs_afdeling_omschrijving,
P.prs_perslid_key,P.prs_perslid_naam,
M.mld_alg_onroerendgoed_keys,
L.alg_locatie_code||
DECODE(G.alg_gebouw_code,NULL,'','-'||G.alg_gebouw_code)||
DECODE(G.alg_verdieping_volgnr,NULL,'','-'||G.alg_verdieping_volgnr)||
DECODE(G.alg_ruimte_nr,NULL,'','-'||G.alg_ruimte_nr)||
DECODE(G.alg_terreinsector_code,NULL,'','-'||G.alg_terreinsector_code) alg_plaats_omschrijving,
M.mld_stdmelding_key,
E.prs_eenheid_upper,
AF.prs_eenheid_key,
M.mld_alg_locatie_key,
M.mld_melding_melder_naam,
AF.prs_afdeling_kostenplaats,
M.mld_ins_discipline_key,
P.prs_perslid_upper,
AF.prs_afdeling_upper,
M.mld_melding_username,
G.alg_gebouw_key,
G.alg_verdieping_key,
G.alg_ruimte_key,
P.prs_perslid_voorletters,
P.prs_perslid_voornaam
FROM mld_melding M,
mld_statuses S,
ins_tab_discipline MD,
mld_stdmelding SM,
prs_afdeling AF,
prs_perslid P,
prs_eenheid E,
alg_v_allonrgoed_gegevens G,
alg_locatie L
WHERE M.mld_melding_status=S.mld_statuses_key
AND M.mld_ins_discipline_key=MD.ins_discipline_key
AND M.mld_stdmelding_key=SM.mld_stdmelding_key
AND M.prs_afdeling_key=AF.prs_afdeling_key (+)
AND M.prs_perslid_key=P.prs_perslid_key (+)
AND AF.prs_eenheid_key=E.prs_eenheid_key (+)
AND M.mld_alg_locatie_key=L.alg_locatie_key (+)
AND M.mld_alg_onroerendgoed_keys=G.alg_onroerendgoed_keys (+);
#endif //MLD
#ifdef RES
-- FSN118
CREATE_TABLE(res_statuses, RES_NORMAAL_PRIVILEGE)
( res_statuses_key
NUMBER (10)
CONSTRAINT res_k_res_statuses_key PRIMARY KEY,
res_statuses_omschrijving
VARCHAR2 (30)
);
INSERT INTO res_statuses VALUES ( 1, 'Afgewezen');
INSERT INTO res_statuses VALUES ( 2, 'Ingevoerd');
INSERT INTO res_statuses VALUES ( 3, 'Ingezien');
INSERT INTO res_statuses VALUES ( 4, 'Geaccepteerd');
INSERT INTO res_statuses VALUES ( 5, 'Uitgevoerd');
INSERT INTO res_statuses VALUES ( 6, 'Verwerkt');
INSERT INTO res_statuses VALUES ( 7, 'Uitgegeven');
ALTER TABLE res_rsv_deel
ADD res_rsv_deel_status
NUMBER(2)
DEFAULT 2
CONSTRAINT res_r_res_status_key REFERENCES res_statuses;
ALTER TABLE res_rsv_artikel
ADD res_rsv_artikel_status
NUMBER(2)
DEFAULT 2
CONSTRAINT res_r_res_status_key2 REFERENCES res_statuses;
ALTER TABLE res_reservering
ADD res_reservering_status_key
NUMBER(2)
DEFAULT 2
CONSTRAINT res_r_res_status_key3 REFERENCES res_statuses;
DEFINIEER_VIEW_AANWEZIG(res_rsv_artikel, res_rsv_artikel_verwijder,
res_v_aanwezigrsv_artikel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_rsv_deel, res_rsv_deel_verwijder,
res_v_aanwezigrsv_deel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_reservering, res_reservering_verwijder,
res_v_aanwezigreservering, RES_NORMAAL_PRIVILEGE);
UPDATE res_reservering
SET res_reservering_status_key = 5
WHERE res_reservering_status = 'Afgemeld';
UPDATE res_reservering
SET res_reservering_status_key = 2
WHERE res_reservering_status <> 'Afgemeld';
UPDATE res_rsv_artikel A
SET res_rsv_artikel_status =
(SELECT res_reservering_status_key
FROM res_reservering
WHERE res_reservering_key = A.res_reservering_key)
WHERE res_rsv_artikel_status IS NULL;
UPDATE res_rsv_deel D
SET res_rsv_deel_status =
(SELECT res_reservering_status_key
FROM res_reservering
WHERE res_reservering_key = D.res_reservering_key)
WHERE res_rsv_deel_status IS NULL;
#endif //RES
#ifdef BES
CREATE OR REPLACE FUNCTION FAC_Bestelling_Items (besKey in number) RETURN VARCHAR2 AS
ret VARCHAR2(512);
first NUMBER;
last NUMBER;
CURSOR query(resKey NUMBER) IS
SELECT BI.BES_BESTELLING_ITEM_AANTAL ||'x '||
S.INS_SRTDEEL_OMSCHRIJVING||' ('||S.INS_SRTDEEL_EENHEID ||') ' BESITEMDSC
FROM BES_BESTELLING B, BES_BESTELLING_ITEM BI,
INS_SRTDEEL S, INS_SRTGROEP G, INS_TAB_DISCIPLINE D
WHERE B.BES_BESTELLING_KEY = besKey
AND B.BES_BESTELLING_KEY = BI.BES_BESTELLING_KEY
AND BI.ins_srtdeel_key = S.ins_srtdeel_key
AND S.ins_srtgroep_key = G.ins_srtgroep_key
AND G.ins_discipline_key = D.ins_discipline_key
ORDER BY S.INS_SRTDEEL_OMSCHRIJVING;
BEGIN
ret := null;
first := 0;
last:= 0;
FOR besitem_rec IN query(besKey) LOOP
IF first = 0 THEN
BEGIN
ret := besitem_rec.BESITEMDSC;
first := 1;
END;
ELSE
IF last = 0 THEN
IF LENGTH(ret)+LENGTH(besitem_rec.BESITEMDSC)<(512-3) THEN
ret := ret || CHR(10) || besitem_rec.BESITEMDSC;
ELSE
ret := ret || CHR(10) || '...';
last := 1;
END IF;
END IF;
END IF;
END LOOP;
RETURN ret;
END;
/
CREATE OR REPLACE FUNCTION FAC_Bestelopdr_Items (besKey IN NUMBER) RETURN VARCHAR2 AS
ret VARCHAR2(512);
first NUMBER;
last NUMBER;
CURSOR query(resKey NUMBER) IS
SELECT BI.BES_BESTELOPDR_ITEM_AANTAL ||'x '||
S.INS_SRTDEEL_OMSCHRIJVING||' ('||S.INS_SRTDEEL_EENHEID ||') ' BESITEMDSC
from BES_BESTELOPDR B, BES_BESTELOPDR_ITEM BI,
INS_SRTDEEL S, INS_SRTGROEP G,
INS_TAB_DISCIPLINE D
WHERE B.BES_BESTELOPDR_KEY = besKey
AND B.BES_BESTELOPDR_KEY = BI.BES_BESTELOPDR_KEY
AND BI.ins_srtdeel_key = S.ins_srtdeel_key
AND S.ins_srtgroep_key = G.ins_srtgroep_key
AND G.ins_discipline_key = D.ins_discipline_key;
BEGIN
ret := null;
first := 0;
last:= 0;
FOR besitem_rec IN query(besKey) LOOP
IF first = 0 THEN
BEGIN
ret := besitem_rec.BESITEMDSC;
first := 1;
END;
ELSE
IF last = 0 THEN
IF LENGTH(ret)+LENGTH(besitem_rec.BESITEMDSC)<(512-3) THEN
ret := ret || CHR(10) || besitem_rec.BESITEMDSC;
ELSE
ret := ret || CHR(10) || '...';
last := 1;
END IF;
END IF;
END IF;
END LOOP;
RETURN ret;
END;
/
#endif //BES
#ifdef BEZ
#endif //BEZ
#ifdef CNT
#endif //CNT
#ifdef WEB
ALTER TABLE web_helpsystem
ADD help_modes varchar2(100);
CREATE OR REPLACE TRIGGER web_t_web_mes_on_changeres
AFTER UPDATE ON RES_RESERVERING
FOR EACH ROW
BEGIN
DECLARE mes VARCHAR2(255);
actkey NUMBER;
code VARCHAR2(6);
keepmes NUMBER;
BEGIN
code := null;
IF :old.RES_RESERVERING_STATUS = 'Optie' AND :new.RES_RESERVERING_STATUS = 'Definitief' THEN
code := 'BEVRES';
-- ELSIF :old.RES_RESERVERING_AANMAAK IS NOT NULL THEN
-- code := 'UPDRES';
END IF;
IF code IS NOT NULL THEN
BEGIN
SELECT web_user_mess_text_dsc, web_user_mess_actions_key
INTO mes, actkey
FROM web_user_mess_text
WHERE web_user_mess_text_code = code;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF actkey IS NOT NULL
THEN
INSERT INTO web_user_messages
(prs_perslid_key_sender,
prs_perslid_key_receiver,
web_user_mess_actions_key,
web_user_mess_dsc,
web_user_mess_action_status,
web_user_mess_action_params) VALUES
(NULL,
:new.RES_RESERVERING_USER_KEY,
actkey,
mes,
1,
:new.RES_RESERVERING_KEY);
END IF;
END IF;
keepmes := 5;
DELETE FROM web_user_messages
WHERE web_user_mess_action_datum < (SYSDATE - keepmes);
END;
END;
/
#endif //WEB
#ifdef SCH
#endif //SCH
#ifdef PRA
#endif //PRA

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,377 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
--
-- Update script van Facilitor versie 4.28 naar 4.29
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.28.2 naar 4.29
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.28.2 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $428to429.SQL
PROMPT SET ECHO ON
PROMPT SPOOL $428to429.LST;
UPDMOD(FAC,428to429)
UPDMOD(ALG,428to429)
UPDMOD(PRS,428to429)
UPDMOD(INS,428to429)
UPDMOD(MLD,428to429)
UPDMOD(CAD,428to429)
UPDMOD(AKZ,428to429)
UPDMOD(PRJ,428to429)
UPDMOD(RES,428to429)
UPDMOD(BES,428to429)
UPDMOD(BEZ,428to429)
UPDMOD(SCH,428to429)
UPDMOD(SLE,428to429)
UPDMOD(CNT,428to429)
UPDMOD(WEB,428to429)
UPDMOD(PRA,428to429)
UPDATE_VERSION('04.29');
COMMIT;
PROMPT SPOOL OFF;
PROMPT START $428to429after.SQL
SPOOL OFF
SPOOL $428to429after.sql
PROMPT SET ECHO ON
PROMPT SPOOL $428to429after.lst
-- Geef execute rechten aan de laagste role voor alle stored packages, procedures etc.
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT DISTINCT 'GRANT execute ON ' || US.name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_source US;
-- Geef alle rechten aan de laagste role voor alle sequences
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
/* ADD SYNONYMS ROUTINE HERE FOR ALL SECONDARY USERS */
PROMPT SPOOL OFF
SPOOL OFF
START $428to429.SQL
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
ALTER TABLE ALG_KENMERK ADD alg_kenmerk_default VARCHAR2(255);
#endif //ALG
#ifdef CAD
#endif// CAD
#ifdef INS
ALTER TABLE INS_KENMERK ADD ins_kenmerk_default VARCHAR2(255);
#endif //INS
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.29'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.29'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
CREATE OR REPLACE PACKAGE fac AS
FUNCTION safe_To_Number( str IN VARCHAR2 ) RETURN NUMBER;
END fac;
/
CREATE OR REPLACE PACKAGE BODY fac AS
-- This function is to be used instead of the native TO_NUMBER in situations
-- where the value might be an invalid number. This is the case for (FSN#203)
-- flexible properties as in FAC.SAFE_TO_NUMBER(alg_onrgoedkenmerk_waarde)<200
-- It returns NULL instead of an ORA-1722:error (or even another error)
FUNCTION safe_To_Number( str IN VARCHAR2 ) RETURN NUMBER IS
BEGIN
RETURN TO_NUMBER(str);
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
END;
END fac;
/
#endif //FAC
#ifdef PRS
ALTER TABLE PRS_KENMERK ADD prs_kenmerk_default VARCHAR2(255);
DEFINIEER_VIEW_AANWEZIG(prs_kenmerk, prs_kenmerk_verwijder,
prs_v_aanwezigkenmerk,PRS_NORMAAL_PRIVILEGE);
DROP INDEX prs_i_prs_perslid4;
CREATE INDEX prs_i_prs_perslid4 ON prs_perslid(prs_perslid_oslogin);
CREATE_VIEW(prs_v_perslidwerkplek_gegevens,PRS_NORMAAL_PRIVILEGE)
(prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_werkplek_opp,
prs_werkplek_aanduiding,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_verdieping_key,
alg_verdieping_volgnr,
alg_verdieping_omschrijving,
alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_locatie_key,
prs_perslidwerkplek_key,
prs_afdeling_key,
prs_perslid_key,
prs_afd_perslid_naam,
prs_afd_perslid_upper,
prs_perslidwerkplek_bezetting) AS
SELECT PRS_W.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_omschrijving,
PRS_W.prs_werkplek_opp,
PRS_W.prs_werkplek_aanduiding,
PRS_W.alg_ruimte_key,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr,
PRS_W.alg_verdieping_key,
PRS_W.alg_verdieping_volgnr,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_gebouw_key,
PRS_W.alg_gebouw_code,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_locatie_key,
PRS_PW.prs_perslidwerkplek_key,
PRS_PW.prs_afdeling_key,
TO_NUMBER(NULL),
'['||PRS_A.prs_afdeling_naam||']',
PRS_A.prs_afdeling_upper,
PRS_PW.prs_perslidwerkplek_bezetting
FROM prs_v_werkplek_gegevens PRS_W, prs_v_aanwezigperslidwerkplek PRS_PW,
prs_afdeling PRS_A
WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key
AND PRS_PW.prs_afdeling_key IS NOT NULL
AND PRS_PW.prs_afdeling_key = PRS_A.prs_afdeling_key
UNION
SELECT PRS_W.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_omschrijving,
PRS_W.prs_werkplek_opp,
PRS_W.prs_werkplek_aanduiding,
PRS_W.alg_ruimte_key,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr,
PRS_W.alg_verdieping_key,
PRS_W.alg_verdieping_volgnr,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_gebouw_key,
PRS_W.alg_gebouw_code,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_locatie_key,
PRS_PW.prs_perslidwerkplek_key,
TO_NUMBER(NULL),
PRS_PW.prs_perslid_key,
prs_p.prs_perslid_naam||DECODE(prs_p.prs_perslid_voorletters,null,'',', '||prs_p.prs_perslid_voorletters)||DECODE(prs_p.prs_perslid_voornaam,null,'',' ('||prs_p.prs_perslid_voornaam||')'),
PRS_P.prs_perslid_upper,
PRS_PW.prs_perslidwerkplek_bezetting
FROM prs_v_werkplek_gegevens PRS_W, prs_v_aanwezigperslidwerkplek PRS_PW,
prs_perslid PRS_P
WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key
AND PRS_PW.prs_perslid_key IS NOT NULL
AND PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key
UNION
SELECT PRS_W.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_omschrijving,
PRS_W.prs_werkplek_opp,
PRS_W.prs_werkplek_aanduiding,
PRS_W.alg_ruimte_key,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr,
PRS_W.alg_verdieping_key,
PRS_W.alg_verdieping_volgnr,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_gebouw_key,
PRS_W.alg_gebouw_code,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_locatie_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
TO_NUMBER(NULL),
'[Vrij]',
'[VRIJ]',
100 - PRS_WB.prs_werkplek_bezetting
FROM prs_v_werkplek_gegevens PRS_W, prs_v_werkplek_bezetting PRS_WB
WHERE PRS_W.prs_werkplek_key = PRS_WB.prs_werkplek_key
AND PRS_WB.prs_werkplek_bezetting < 100;
#endif //PRS
#ifdef MLD
ALTER TABLE MLD_KENMERK ADD mld_kenmerk_default VARCHAR2(255);
#endif //MLD
#ifdef RES
ALTER TABLE RES_RESERVERING
MODIFY res_reservering_ordernr VARCHAR2(30);
#endif //RES
#ifdef BES
CREATE_TRIGGER(BES_T_BES_BESTELLING_ITEM_B_U)
BEFORE UPDATE ON BES_BESTELLING_ITEM FOR EACH ROW
BEGIN
IF :new.bes_bestelling_i_gcpt_us_key is not null and
:old.bes_bestelling_i_gcpt_us_key is null THEN
:new.bes_bestelling_item_status := 4;
insert into bes_bestellingstate values(:new.bes_bestelling_key,2);
END IF;
IF :new.BES_BESTELOPDR_KEY is not null and
:old.BES_BESTELOPDR_KEY is null THEN
:new.bes_bestelling_item_status := 5;
update BES_BESTELLING set BES_BESTELLING_STATUS = 5
where BES_BESTELLING_KEY = :new.BES_BESTELLING_KEY;
END IF;
IF NVL(:new.bes_bestelling_item_aantalontv,0) = NVL(:new.bes_bestelling_item_aantal,0)
AND :old.bes_bestelling_item_status < 6
THEN
:new.bes_bestelling_item_status := 6;
INSERT INTO bes_bestellingstate VALUES(:new.bes_bestelling_key,1);
END IF;
END;
/
CREATE_TRIGGER(BES_T_BES_BESTELOPDR_ITEM_B_U)
BEFORE UPDATE ON BES_BESTELOPDR_ITEM FOR EACH ROW
BEGIN
IF NVL(:new.bes_bestelopdr_item_aantalontv,0) = NVL(:new.bes_bestelopdr_item_aantal,0)
THEN
insert into bes_bestelopdrstate values (:new.bes_bestelopdr_key, 1);
END IF;
END;
/
CREATE_TRIGGER(BES_T_BES_BESTELOPDR_ITEM_A_UT)
after update on BES_BESTELOPDR_ITEM
begin
declare bokey number(10);
CURSOR query
IS select bkey from
(select
b1.bes_bestelopdr_key bkey,
sum(bes_bestelopdr_item_aantal) request,
sum(nvl(bes_bestelopdr_item_aantalontv,0)) deliver
from bes_bestelopdr_item b1,
(select bes_bestelopdr_key
from bes_bestelopdr_item b
where b.bes_bestelopdr_key in
(select bes_bestelopdr_key from bes_bestelopdrstate where bes_bestelopdrstate = 1)) b2
where b1.bes_bestelopdr_key = b2.bes_bestelopdr_key
group by b1.bes_bestelopdr_key) where deliver >= request;
BEGIN
bokey := 0;
FOR besitem_rec IN query() LOOP
update bes_bestelopdr set bes_bestelopdr_leverdatum = sysdate, bes_bestelopdr_status = 6
where bes_bestelopdr_key = besitem_rec.bkey;
bokey := besitem_rec.bkey;
END LOOP;
if bokey <> 0 then
DELETE FROM bes_bestelopdrstate;
end if;
END;
END;
/
#endif //BES
#ifdef BEZ
#endif //BEZ
#ifdef CNT
#endif //CNT
#ifdef WEB
#endif //WEB
#ifdef SCH
#endif //SCH
#ifdef PRA
#endif //PRA

File diff suppressed because it is too large Load Diff

View File

@@ -1,585 +0,0 @@
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
--
-- Update script van Facilitor versie 4.29 naar 4.30
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
#ifdef MASTER
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.30 naar 4.31
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.30 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $430to431.SQL
PROMPT SET ECHO ON
PROMPT SPOOL $430to431.LST;
UPDMOD(FAC,430to431)
UPDMOD(ALG,430to431)
UPDMOD(PRS,430to431)
UPDMOD(INS,430to431)
UPDMOD(MLD,430to431)
UPDMOD(CAD,430to431)
UPDMOD(AKZ,430to431)
UPDMOD(PRJ,430to431)
UPDMOD(RES,430to431)
UPDMOD(BES,430to431)
UPDMOD(BEZ,430to431)
UPDMOD(SCH,430to431)
UPDMOD(SLE,430to431)
UPDMOD(CNT,430to431)
UPDMOD(WEB,430to431)
UPDMOD(PRA,430to431)
UPDATE_VERSION('04.31');
COMMIT;
PROMPT SPOOL OFF;
PROMPT START $430to431after.SQL
SPOOL OFF
SPOOL $430to431after.sql
PROMPT SET ECHO ON
PROMPT SPOOL $430to431after.lst
-- Geef execute rechten aan de laagste role voor alle stored packages, procedures etc.
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT DISTINCT 'GRANT execute ON ' || US.name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_source US;
-- Geef alle rechten aan de laagste role voor alle sequences
-- Bedoeld voor de nieuwe, maar is niet erg voor de oude.
SELECT 'GRANT all ON ' || USEQ.sequence_name ||' TO '||USER||'_ALG_SMALL_ROLE;'
FROM user_sequences USEQ;
/* ADD SYNONYMS ROUTINE HERE FOR ALL SECONDARY USERS */
PROMPT SPOOL OFF
SPOOL OFF
START $430to431.SQL
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.
#endif // MASTER
/****************************** PLAATS HIERONDER DE UPDATES ******************************/
#ifdef ALG
ALTER TABLE alg_srtruimte ADD
(
alg_srtruimte_prijs NUMBER(8,2)
);
#endif //ALG
#ifdef CAD
#endif// CAD
#ifdef INS
#endif //INS
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.31'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.31'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
CREATE OR REPLACE PACKAGE webfac AS
FUNCTION fac_f_usrrap_query (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
FUNCTION fac_f_usrrap_orderby (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
FUNCTION fac_f_getmainuser RETURN VARCHAR2;
END webfac;
/
CREATE OR REPLACE PACKAGE BODY webfac AS
FUNCTION fac_f_getmainuser RETURN VARCHAR2 IS
MainUser VARCHAR2(80);
BEGIN
/* Wie is de hoofduser?? */
BEGIN
SELECT UPPER(table_owner)
INTO mainuser
FROM user_synonyms
WHERE synonym_name = 'FAC_MODULE';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
/* We zijn zelf de hoofduser! */
SELECT UPPER(USER)
INTO mainuser
FROM DUAL;
END;
RETURN MainUser;
END fac_f_getmainuser;
FUNCTION fac_f_usrrap_query (p_tabelnaam VARCHAR2) RETURN VARCHAR2 IS
QueryString VARCHAR2(2000);
Kolomnaam VARCHAR2(64);
mainuser VARCHAR2(80);
BEGIN
mainuser := fac_f_getmainuser;
BEGIN
DECLARE
CURSOR Zoek_label IS
SELECT column_name
, data_type
, data_length
, data_precision
, Column_id
FROM all_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = mainuser
ORDER BY COLUMN_ID;
BEGIN
QueryString := 'Select ';
FOR LabelRec in zoek_label LOOP
IF LabelRec.data_type = 'NUMBER'
THEN
QueryString := QueryString ||'to_number(to_char('|| LabelRec.column_name ||',''99999999D9999'')) "'||LabelRec.column_name||'",';
ELSE
IF LabelRec.data_type = 'DATE'
THEN
QueryString := QueryString ||'to_char('|| LabelRec.column_name ||',''MM-DD-YYYY'') "'||LabelRec.column_name||'",';
ELSE
QueryString := QueryString ||' ' || LabelRec.column_name ||',';
END IF;
END IF;
END LOOP;
END;
END;
QueryString := Substr(QueryString,1,(length(QueryString)-1))||' from '|| p_tabelnaam ;
RETURN QueryString;
END fac_f_usrrap_query;
FUNCTION fac_f_usrrap_orderby (p_tabelnaam VARCHAR2) RETURN VARCHAR2 IS
AantalRecords NUMBER(10);
OrderBy VARCHAR2(5);
mainuser VARCHAR2(80);
BEGIN
mainuser := fac_f_getmainuser;
BEGIN
SELECT count(*)
INTO AantalRecords
FROM all_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = mainuser;
--
IF AantalRecords = 1
THEN
OrderBy := '1';
ELSIF AantalRecords = 2
THEN
OrderBy := '1,2';
ELSE
OrderBy := '1,2,3';
END IF;
END;
RETURN ' ORDER BY ' || OrderBy;
END fac_f_usrrap_orderby;
END webfac;
/
#endif //FAC
#ifdef PRS
#endif //PRS
#ifdef MLD
#endif //MLD
#ifdef RES
#endif //RES
#ifdef BES
CREATE_VIEW(BES_BESTELOPDR_XMLSOURCE, BES_BIBLIOTHEEK_PRIVILEGE)
AS
SELECT
b.BES_BESTELOPDR_KEY bo_key,
b.BES_BESTELOPDR_OPMERKING o_cmnts,
bd.PRS_BEDRIJF_KEY b_key,
bd.PRS_BEDRIJF_NAAM b_name,
bd.PRS_BEDRIJF_POST_ADRES b_pa,
bd.PRS_BEDRIJF_POST_POSTCODE b_pc,
bd.PRS_BEDRIJF_POST_PLAATS b_pp,
bd.PRS_BEDRIJF_TELEFOON b_pph,
bd.PRS_BEDRIJF_FAX b_pf,
bd.PRS_OVEREENKOMST_NR b_cnt,
s.INS_SRTDEEL_OMSCHRIJVING i_name,
NVL(s.INS_SRTDEEL_EENHEID,'') i_measuring_unts,
NVL(BES_BESTELOPDR_ITEM_PRIJS, 0) p_price,
bi.bes_bestelopdr_item_aantal i_cnt,
s.INS_SRTDEEL_KEY i_key,
NVL(ml.MLD_ADRES_BEZOEK_POSTCODE, ' ') d_bpc,
NVL(ml.MLD_ADRES_BEZOEK_ADRES, ' ') d_bpa,
NVL(ml.MLD_ADRES_BEZOEK_PLAATS, ' ') d_bpp,
NVL(mf.MLD_ADRES_BEZOEK_ADRES, ' ') in_bpa,
NVL(mf.MLD_ADRES_BEZOEK_POSTCODE,' ') in_bpc,
NVL(mf.MLD_ADRES_BEZOEK_PLAATS, ' ') in_bpp,
TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'YYYY-MM-DD')||'T'||
TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'HH24:MI:SS') iso_date,
bd.PRS_BEDRIJF_XSL b_xsl, s.INS_SRTDEEL_PRIJS s_pr,
NVL(bi.bes_bestelopdr_item_omschrijv,' ') i_om,
NVL(bd.PRS_BEDRIJF_EMAIL, ' ') b_email,
TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'YYYY-MM-DD') o_date,
NVL(ml.MLD_ADRES_POST_ADRES,' ') d_pa,
NVL(mf.MLD_ADRES_POST_ADRES, ' ') in_pa,
d.INS_DISCIPLINE_KEY d_key,
s.INS_SRTDEEL_NR i_nr,
s.INS_SRTDEEL_PRIJS i_price,
b.BES_BESTELOPDR_STATUS b_status,
be.PRS_PERSLID_KEY p_key
FROM bes_v_aanwezigdiscipline d, bes_v_aanwezigsrtgroep g,
bes_v_aanwezigsrtdeel s, PRS_BEDRIJF bd, BES_BESTELOPDR b, BES_BESTELLING be,
BES_BESTELLING_ITEM bei, BES_BESTELOPDR_ITEM bi, MLD_ADRES ml, MLD_ADRES mf
WHERE d.INS_DISCIPLINE_KEY=g.INS_DISCIPLINE_KEY AND
g.INS_SRTGROEP_KEY=s.INS_SRTGROEP_KEY AND
s.INS_SRTDEEL_KEY=bi.INS_SRTDEEL_KEY AND
bi.BES_BESTELOPDR_KEY=b.BES_BESTELOPDR_KEY AND
bi.BES_BESTELOPDR_KEY= bei.BES_BESTELOPDR_KEY(+) AND
bi.INS_SRTDEEL_KEY=bei.INS_SRTDEEL_KEY(+) AND
bei.BES_BESTELLING_KEY= be.BES_BESTELLING_KEY(+) AND
s.INS_SRTDEEL_KEY=bi.INS_SRTDEEL_KEY AND
b.PRS_BEDRIJF_KEY=bd.PRS_BEDRIJF_KEY AND
ml.MLD_ADRES_KEY(+)=b.MLD_ADRES_KEY_LEV AND
mf.MLD_ADRES_KEY(+)=b.MLD_ADRES_KEY_FAC;
-- This next statement may fail with 0 rows updated (FSN373)
UPDATE prs_refkenmerk SET
prs_refkenmerk_objectnaam = 'PRS_V_PERSLID_FULLNAMES',
prs_refkenmerk_kolomtxt= 'PRS_PERSLID_NAAM_FULL'
WHERE prs_refkenmerk_upper='FIATTEUR';
CREATE_TRIGGER(BES_T_BES_BESTELOPDR_ITEM_B_U)
BEFORE UPDATE ON BES_BESTELOPDR_ITEM FOR EACH ROW
BEGIN
IF NVL(:new.bes_bestelopdr_item_aantalontv,0) = NVL(:new.bes_bestelopdr_item_aantal,0) AND
NVL(:old.bes_bestelopdr_item_aantalontv,0) <> NVL(:old.bes_bestelopdr_item_aantal,0)
THEN
UPDATE BES_BESTELOPDR SET BES_BESTELOPDR_ITEM_CNT_LEV = BES_BESTELOPDR_ITEM_CNT_LEV + 1
WHERE BES_BESTELOPDR_KEY = :new.BES_BESTELOPDR_KEY;
END IF;
END;
/
CREATE OR REPLACE procedure BES_MAKEORDERS(
by_company in NUMBER,
cuser_name in VARCHAR,
check_status in NUMBER,
rfo_key in NUMBER) IS lqstring VARCHAR2(4000);
sbd_key NUMBER(10);
sbd_name VARCHAR(30);
i_omschr VARCHAR(60);
i_units VARCHAR(15);
i_price NUMBER(8,2);
i_cnt NUMBER(5);
i_key NUMBER(10);
bi_key NUMBER(10);
deliver_key NUMBER(10);
factura_key NUMBER(10);
pbd_key NUMBER(10);
lprs_key NUMBER(10);
lafd_key NUMBER(10);
lbord_key NUMBER(10);
i_cnt_sum NUMBER(5);
i_price_sum NUMBER(8,2);
cursor_name integer;
badquery INTEGER;
cur_b_key NUMBER(10);
cur_i_key NUMBER(10);
cur_i_cnt_sum NUMBER(5);
cur_i_price NUMBER(8,2);
cur_pbd_key NUMBER(10);
BEGIN
BEGIN
SELECT prs_perslid_key, prs_afdeling_key INTO lprs_key, lafd_key FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin = cuser_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
raise_application_error(-20000,'unknown user');
return;
END;
WHEN TOO_MANY_ROWS THEN
BEGIN
raise_application_error(-20000,'unknown user');
return;
END;
END;
lqstring := 'SELECT bd.PRS_BEDRIJF_KEY, bd.PRS_BEDRIJF_NAAM, s.INS_SRTDEEL_OMSCHRIJVING,
nvl(s.INS_SRTDEEL_EENHEID,''''), nvl(s.INS_SRTDEEL_PRIJS,0),
bi.bes_bestelling_item_aantal, s.INS_SRTDEEL_KEY,
bi.BES_BESTELLING_ITEM_KEY, NVL(b.MLD_ADRES_KEY_LEV, abd.MLD_ADRES_KEY_LEV), abd.MLD_ADRES_KEY_FAC';
IF by_company is not null THEN
lqstring := lqstring ||', abd.PRS_BEDRIJF_KEY ';
END IF;
lqstring := lqstring ||' FROM ins_srtdeel s, prs_bedrijf bd,
bes_bestelling b, bes_bestelling_item bi';
IF by_company is not null THEN
lqstring := lqstring ||', prs_bedrijf abd, prs_afdeling a';
ELSE
lqstring := lqstring ||',(SELECT abd.MLD_ADRES_KEY_LEV MLD_ADRES_KEY_LEV,
abd.MLD_ADRES_KEY_FAC MLD_ADRES_KEY_FAC
FROM prs_bedrijf abd, prs_afdeling a WHERE abd.PRS_BEDRIJF_KEY = a.PRS_BEDRIJF_KEY
AND a.PRS_AFDELING_KEY = '|| TO_CHAR(lafd_key)||') abd';
END IF;
lqstring := lqstring ||' WHERE
s.INS_SRTDEEL_KEY = bi.INS_SRTDEEL_KEY and
bi.BES_BESTELLING_KEY = b.BES_BESTELLING_KEY and';
IF check_status is not null THEN
lqstring := lqstring ||' BES_BESTELLING_STATUS in (4) and';
END IF;
IF rfo_key is not null THEN
lqstring := lqstring ||' b.BES_BESTELLING_key = '||TO_CHAR(rfo_key)||' and';
END IF;
lqstring := lqstring ||' s.PRS_BEDRIJF_KEY = bd.PRS_BEDRIJF_KEY';
IF by_company is not null THEN
lqstring := lqstring ||' and b.PRS_AFDELING_KEY = a.PRS_AFDELING_KEY and
a.PRS_BEDRIJF_KEY = abd.PRS_BEDRIJF_KEY ORDER BY 2,11,7,8';
ELSE
lqstring := lqstring ||' ORDER BY 2,7,8';
END IF;
cursor_name := DBMS_SQL.open_cursor;
DBMS_SQL.parse(cursor_name, lqstring, DBMS_SQL.native);
DBMS_SQL.define_column(cursor_name, 1, sbd_key);
DBMS_SQL.define_column(cursor_name, 2, sbd_name, 30);
DBMS_SQL.define_column(cursor_name, 3, i_omschr, 60);
DBMS_SQL.define_column(cursor_name, 4, i_units , 15);
DBMS_SQL.define_column(cursor_name, 5, i_price);
DBMS_SQL.define_column(cursor_name, 6, i_cnt);
DBMS_SQL.define_column(cursor_name, 7, i_key);
DBMS_SQL.define_column(cursor_name, 8, bi_key);
DBMS_SQL.define_column(cursor_name, 9, deliver_key);
DBMS_SQL.define_column(cursor_name, 10, factura_key);
IF by_company is not null THEN
DBMS_SQL.define_column(cursor_name, 11, pbd_key);
END IF;
badquery := DBMS_SQL.EXECUTE(cursor_name);
cur_b_key := -1;
cur_i_cnt_sum := 0;
cur_i_price := 0.;
cur_i_key := -1;
cur_pbd_key := -1;
LOOP
IF DBMS_SQL.fetch_rows(cursor_name) > 0 THEN
DBMS_SQL.column_value(cursor_name, 1, sbd_key);
DBMS_SQL.column_value(cursor_name, 2, sbd_name);
DBMS_SQL.column_value(cursor_name, 3, i_omschr);
DBMS_SQL.column_value(cursor_name, 4, i_units);
DBMS_SQL.column_value(cursor_name, 5, i_price);
DBMS_SQL.column_value(cursor_name, 6, i_cnt);
DBMS_SQL.column_value(cursor_name, 7, i_key);
DBMS_SQL.column_value(cursor_name, 8, bi_key);
DBMS_SQL.column_value(cursor_name, 9, deliver_key);
DBMS_SQL.column_value(cursor_name, 10, factura_key);
IF by_company is not null THEN
DBMS_SQL.column_value(cursor_name, 11, pbd_key);
END IF;
IF cur_b_key <> sbd_key THEN
IF cur_b_key <> -1 THEN
insert into bes_bestelopdr_item values (
bes_s_bes_bestelopdr_item_key.NextVal, lbord_key,
cur_i_key, cur_i_cnt_sum, null, null,
cur_i_price, null);
commit;
END IF;
cur_i_cnt_sum := i_cnt;
cur_i_price := i_price;
cur_i_key := i_key;
cur_b_key := sbd_key;
SELECT bes_s_bes_bestelopdr_key.NextVal INTO lbord_key FROM dual;
insert into bes_bestelopdr values (lbord_key, 'BES',
3, sbd_key, SYSDATE, deliver_key, factura_key, null,
'Auto Ordering', null, lprs_key,0,0);
update bes_bestelopdr set bes_bestelopdr_status = 3 where bes_bestelopdr_key = lbord_key;
cur_pbd_key := pbd_key;
ELSE
IF by_company is not null THEN
IF cur_pbd_key <> pbd_key THEN
insert into bes_bestelopdr_item values (
bes_s_bes_bestelopdr_item_key.NextVal, lbord_key,
cur_i_key, cur_i_cnt_sum, null, null,
cur_i_price, null);
commit;
cur_b_key := sbd_key;
cur_i_cnt_sum := i_cnt;
cur_i_price := i_price;
cur_i_key := i_key;
SELECT bes_s_bes_bestelopdr_key.NextVal INTO lbord_key FROM dual;
insert into bes_bestelopdr values (lbord_key, 'BES',
3, sbd_key, SYSDATE, deliver_key, factura_key, null,
'Auto Ordering', null, lprs_key, 0, 0);
update bes_bestelopdr set bes_bestelopdr_status = 3 where bes_bestelopdr_key = lbord_key;
cur_pbd_key := pbd_key;
ELSE
IF cur_i_key <> i_key THEN
IF cur_i_key <> -1 THEN
insert into bes_bestelopdr_item values (
bes_s_bes_bestelopdr_item_key.NextVal, lbord_key,
cur_i_key, cur_i_cnt_sum, null, null,
cur_i_price, null);
commit;
END IF;
cur_i_cnt_sum := i_cnt;
cur_i_price := i_price;
cur_i_key := i_key;
ELSE
cur_i_cnt_sum := cur_i_cnt_sum + i_cnt;
cur_i_price := cur_i_price + i_price;
END IF;
END IF;
ELSE
IF cur_i_key <> i_key THEN
IF cur_i_key <> -1 THEN
insert into bes_bestelopdr_item values (
bes_s_bes_bestelopdr_item_key.NextVal, lbord_key,
cur_i_key, cur_i_cnt_sum, null, null,
cur_i_price, null);
END IF;
cur_i_cnt_sum := i_cnt;
cur_i_price := i_price;
cur_i_key := i_key;
ELSE
cur_i_cnt_sum := cur_i_cnt_sum + i_cnt;
cur_i_price := cur_i_price + i_price;
END IF;
END IF;
END IF;
UPDATE BES_BESTELLING_ITEM SET BES_BESTELOPDR_KEY = lbord_key
WHERE BES_BESTELLING_ITEM_KEY = bi_key;
END IF;
END LOOP;
DBMS_SQL.close_cursor(cursor_name);
EXCEPTION WHEN others THEN
IF dbms_sql.is_open(cursor_name) THEN
dbms_sql.close_cursor(cursor_name);
END IF;
IF cur_i_cnt_sum <> 0 THEN
insert into bes_bestelopdr_item values (
bes_s_bes_bestelopdr_item_key.NextVal, lbord_key,
cur_i_key, cur_i_cnt_sum, null, null,
cur_i_price, null);
END IF;
IF lbord_key IS NOT NULL THEN
UPDATE BES_BESTELLING_ITEM SET BES_BESTELOPDR_KEY = lbord_key
WHERE BES_BESTELLING_ITEM_KEY = bi_key;
END IF;
commit;
END;
/
#endif //BES
#ifdef BEZ
#endif //BEZ
#ifdef CNT
#endif //CNT
#ifdef WEB
update fac_functie SET fac_functie_code='WEB_BESBAC' where fac_functie_code='WEB_ORDER';
insert into web_user_mess_text (web_user_mess_text_code, web_user_mess_text_dsc, web_user_mess_actions_key)
values ('INFRES', 'U staat geregistreerd als reserveerder van ruimte ##RUIMTE## op ##DATUM## van ##VANTIJD## tot ##TOTTIJD##. Indien deze overeenkomst onverhoopt niet doorgaat, meldt u dit dan svp aan toestel ##TELEFOON## of aan ##EMAIL##.', 2);
#endif //WEB
#ifdef SCH
#endif //SCH
#ifdef PRA
#endif //PRA

View File

@@ -1,143 +0,0 @@
SET PAGESIZE 0
SET HEADING OFF
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
UPDATE FAC_MODULE SET fac_module_VERSION='04.31.3';
COMMIT;
CREATE OR REPLACE PACKAGE MLD_P_MLD_DATUMTIJD AS
FUNCTION DatumTijdPlusUitvoerTijd(BeginDatum IN DATE
,UitvoerTijd IN NUMBER
,UitvoerTijdType IN VARCHAR2) RETURN DATE;
PRAGMA RESTRICT_REFERENCES (DatumTijdPlusUitvoerTijd, WNDS, WNPS);
END mld_p_mld_datumtijd;
/
CREATE OR REPLACE PACKAGE BODY Mld_P_Mld_Datumtijd AS
BeginWerkTijd DATE := TO_DATE('08:00','HH24:MI');
EindWerkTijd DATE := TO_DATE('17:00','HH24:MI');
BeginWerkUur NUMBER(4,2) := TO_NUMBER(TO_CHAR(BeginWerkTijd, 'HH24.MI'), '9999D99', 'nls_numeric_characters = ''.,''');
EindWerkUur NUMBER(4,2) := TO_NUMBER(TO_CHAR(EindWerkTijd, 'HH24.MI'), '9999D99', 'nls_numeric_characters = ''.,''');
AantalWerkUren NUMBER(4,2) := EindWerkUur - BeginWerkUur;
FUNCTION DatumTijdPlusUitvoerTijd(BeginDatum IN DATE
,UitvoerTijd IN NUMBER
,UitvoerTijdType IN VARCHAR2 ) RETURN DATE IS
OldDatumGereed DATE;
NewDatumGereed DATE;
DagVdWeek NUMBER(3,0);
VrijeDagen NUMBER(3,0);
AantalWerkweken NUMBER(3,0);
AantalDagen NUMBER(3,0);
AantaLDagenOver NUMBER(3,0);
BeginUur NUMBER(5,2);
EindUur NUMBER(5,2);
NewUitvoerTijd NUMBER(5,2);
BeginWerkNr NUMBER(5,2);
EindeWerkNr NUMBER(5,2);
WerkUrenNr NUMBER(5,2);
BeginUurNr NUMBER(5,2);
UitvoerNr NUMBER(5,2);
EindUurNr NUMBER(5,2);
NewUitvoerNr NUMBER(5,2);
ReturnVal DATE;
BEGIN
IF UitvoerTijd IS NOT NULL
AND BeginDatum IS NOT NULL
AND UitvoerTijdType = 'DAGEN'
THEN
OldDatumGereed := BeginDatum;
NewDatumGereed := OldDatumGereed;
AantalWerkweken := TRUNC(UitvoerTijd / 5);
AantalDagenOver := UitvoerTijd MOD 5;
NewDatumGereed := NewDatumGereed + (AantalWerkweken * 7);
SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D'))
INTO DagVdWeek
FROM DUAL;
NewDatumGereed := NewDatumGereed + AantalDagenOver;
IF DagVdWeek + AantalDagenOver > 8
THEN
NewDatumGereed := NewDatumGereed + 2;
END IF;
LOOP
SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D'))
INTO DagVdWeek
FROM DUAL;
IF DagVdWeek = 1 OR DagVdWeek = 7
THEN
NewDatumGereed := NewDatumGereed + 2;
END IF;
SELECT COUNT(*)
INTO VrijeDagen
FROM MLD_VRIJE_DAGEN
WHERE mld_vrije_dagen_datum > OldDatumGereed
AND mld_vrije_dagen_datum <= NewDatumGereed;
IF VrijeDagen > 0
THEN
OldDatumGereed := NewDatumGereed;
NewDatumGereed := NewDatumGereed + VrijeDagen;
END IF;
IF DagVdWeek > 1 AND DagVdWeek < 7
AND VrijeDagen = 0
THEN
EXIT;
END IF;
END LOOP;
ReturnVal := NewDatumGereed;
ELSIF UitvoerTijd IS NOT NULL
AND BeginDatum IS NOT NULL
AND UitvoerTijdType = 'UREN'
THEN
BeginUur := TO_NUMBER(TO_CHAR(BeginDatum, 'HH24.MI'), '9999D99', 'nls_numeric_characters = ''.,''');
BeginWerkNr := TRUNC(BeginWerkUur) + (BeginWerkUur - TRUNC(BeginWerkUur))/0.6;
EindeWerkNr := TRUNC(EindWerkUur) + (EindWerkUur - TRUNC(EindWerkUur ))/0.6;
BeginUurNr := TRUNC(BeginUur) + (BeginUur - TRUNC(BeginUur ))/0.6;
UitvoerNr := TRUNC(UitvoerTijd) + (UitvoerTijd - TRUNC(UitvoerTijd ))/0.6;
WerkUrenNr := EindeWerkNr - BeginWerkNr;
EindUurNr := BeginUurNr + UitvoerNr;
AantalDagen := 0;
--
IF EindUurNr > EindeWerkNr
THEN
AantalDagen := TRUNC(EindUurNr / WerkUrenNr);
EindUurNr := EindUurNr - AantalDagen * WerkUrenNr;
END IF;
EindUur := TRUNC(EindUurNr) + (EindUurNr - TRUNC(EindUurNr))*0.6;
OldDatumGereed := TO_DATE(TO_CHAR(TRUNC(BeginDatum), 'DD-MM-YYYY') || ' '
|| TO_CHAR(EindUur, '09.99'), 'DD-MM-YYYY HH24.MI');
IF AantalDagen > 0
THEN
ReturnVal := DatumTijdPlusUitvoerTijd(OldDatumGereed, AantalDagen, 'DAGEN');
ELSE
ReturnVal := OldDatumGereed;
END IF;
ELSE
ReturnVal := NULL;
END IF;
RETURN ReturnVal;
END;
END Mld_P_Mld_Datumtijd;
/
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO ON
SET FEEDBACK ON
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.31.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M002'
;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.31.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M035'
;
COMMIT;
SET ECHO OFF

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,360 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.40 naar 4.41
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.40 naar 4.41
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.40 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x440to441.LST
UPDATE_VERSION('04.41');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#150
ALTER TABLE FAC_FUNCTIE MODIFY fac_functie_min_level NUMBER(2);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#516
ALTER TABLE alg_srtruimte
ADD (
alg_srtruimte_code VARCHAR2(10)
);
CREATE_TABLE(alg_srtterreinsector,ALG_BIBLIOTHEEK_PRIVILEGE)
(
alg_srtterreinsector_key
NUMBER(10)
CONSTRAINT alg_k_alg_srtterreinsector_key PRIMARY KEY,
alg_srtterreinsec_omschrijving
VARCHAR2(30)
CONSTRAINT alg_c_alg_srtterreinsec_omschr CHECK(alg_srtterreinsec_omschrijving IS NOT NULL),
alg_srtterreinsector_upper
VARCHAR2(30)
CONSTRAINT alg_c_alg_srtterreinsec_upper CHECK(alg_srtterreinsector_upper IS NOT NULL),
alg_srtterreinsector_prijs
NUMBER(8,2),
alg_srtterreinsector_aanmaak
DATE
DEFAULT SYSDATE
CONSTRAINT alg_c_alg_srtterrein_aanmaak NOT NULL,
alg_srtterreinsector_verwijder
DATE
DEFAULT NULL,
CONSTRAINT alg_u_alg_srtterreinsec_upper UNIQUE(alg_srtterreinsector_upper, alg_srtterreinsector_verwijder),
prs_verhuurbaar NUMBER(1),
alg_srtterreinsector_code VARCHAR2(10)
);
ALTER TABLE alg_terreinsector
ADD (
alg_srtterreinsector_key NUMBER(10)
CONSTRAINT alg_r_alg_srtterreinsector_key REFERENCES alg_srtterreinsector(alg_srtterreinsector_key)
);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#603
ALTER TABLE alg_terreinsector
MODIFY alg_terreinsector_omschrijving VARCHAR2(50);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#
ALTER TABLE prs_perslid ADD prs_perslid_tussenvoegsel VARCHAR2(15);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#532
DEF_FAC_FUNCTIE('WEB_ALGUSE', 'Backoffice:Ruimtegebruik', 'ALG', 3, null,'Om het ruimtegebruik te kunnen beheren');
// UPDATE fac_gebruiker with new functions
// ALL people with WEB_ALGMAN will get WEB_ALGUSE
INSERT INTO FAC_GEBRUIKER (
fac_gebruiker_username, fac_functie_key, fac_gebruiker_Module, fac_groep_key,
fac_gebruiker_prs_level_read,fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_read,fac_gebruiker_alg_level_write,
prs_perslid_key )
SELECT fac_gebruiker_username,
(SELECT fac_functie_key FROM FAC_FUNCTIE WHERE fac_functie_code = 'WEB_ALGUSE'),
fac_gebruiker_Module, fac_groep_key,
fac_gebruiker_prs_level_read,fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_read,fac_gebruiker_alg_level_write,
prs_perslid_key
FROM FAC_GEBRUIKER
WHERE fac_functie_key =
(SELECT fac_functie_key
FROM FAC_FUNCTIE
WHERE fac_functie_code= 'WEB_ALGMAN');
///////////////////////////////////////////////////////////////////////////////////////////////// FSN #542
ALTER TABLE ALG_KENMERK DROP CONSTRAINT ALG_C_ALG_KENMERK_NIVEAU2;
ALTER TABLE ALG_KENMERK ADD CONSTRAINT ALG_C_ALG_KENMERK_NIVEAU2 CHECK (alg_kenmerk_niveau IN ('R','G', 'T', 'L'));
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.41'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.41'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,684 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.41 naar 4.42
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.41 naar 4.42
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.41 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x441to442.LST
UPDATE_VERSION('04.42');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#634
ALTER TABLE CNT_SRTCONTRACT
ADD
(
cnt_srtcontract_type
NUMBER(1)
DEFAULT 1
NOT_NULL(cnt_srtcontract_type, cnt_c_cnt_srtcontract_type)
);
ALTER TABLE CNT_CONTRACT
ADD
(
cnt_contract_kostenplaats
VARCHAR2(30),
prs_afdeling_key_eig
NUMBER(10)
CONSTRAINT cnt_r_prs_afdeling_key_eig REFERENCES prs_afdeling(prs_afdeling_key)
);
CREATE_TABLE(cnt_mutatie, CNT_BIBLIOTHEEK_PRIVILEGE)
( cnt_mutatie_key NUMBER(10)
CONSTRAINT cnt_k_cnt_mutatie_key PRIMARY KEY,
cnt_mutatie_omschrijving VARCHAR2(50),
cnt_mutatie_datum DATE,
cnt_mutatie_datum_concept DATE,
cnt_mutatie_datum_ontvangen DATE,
cnt_mutatie_datum_voltooid DATE,
cnt_mutatie_datum_ingang DATE,
prs_perslid_key NUMBER(10)
CONSTRAINT cnt_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
cnt_mutatie_status NUMBER(1) -- Open = 1 Concept = 2 OntvangenOK = 3 OntvangenNOK = 4 Voltooid = 5
);
CREATE_TABLE(cnt_contract_onrgoed, CNT_BIBLIOTHEEK_PRIVILEGE)
( cnt_contract_onrgoed_key NUMBER(10)
CONSTRAINT cnt_k_cnt_contract_onrgoed_key PRIMARY KEY,
cnt_contract_key NUMBER(10)
CONSTRAINT cnt_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key),
alg_onrgoed_key NUMBER(10),
alg_onrgoed_niveau VARCHAR2(1)
CONSTRAINT cnt_c_cnt_onrgoed_niveau CHECK(alg_onrgoed_niveau IN ('R', 'T')),
cnt_mutatie_key NUMBER(10)
CONSTRAINT cnt_r_cnt_mutatie_key REFERENCES cnt_mutatie(cnt_mutatie_key) on delete cascade,
cnt_contract_onrgoed_opp NUMBER(8,2),
alg_srtonrgoed_key NUMBER(10)
);
CREATE_TABLE(cnt_mutatie_status,BES_BIBLIOTHEEK_PRIVILEGE)
(
cnt_mutatie_status
NUMBER(1),
cnt_mutatie_status_omschrijv
VARCHAR2(30)
);
CREATE SEQUENCE cnt_s_cnt_onrgoed_key MINVALUE 1 CACHE 2;
CREATE SEQUENCE cnt_s_cnt_mutatie_key MINVALUE 1 CACHE 2;
create index cnt_i_cnt_contract5 on cnt_contract(cnt_contract_nummer_intern);
insert into cnt_mutatie_status values(0, 'Vervallen');
insert into cnt_mutatie_status values(1, 'Open');
insert into cnt_mutatie_status values(2, 'Concept');
insert into cnt_mutatie_status values(3, 'Ontvangen/Ok');
insert into cnt_mutatie_status values(4, 'Ontvangen/NietOk');
insert into cnt_mutatie_status values(5, 'Voltooid');
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#564
CREATE_TABLE(mld_kenmerkopdr, MLD_NORMAAL_PRIVILEGE)
( mld_kenmerkopdr_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerkopdr_key PRIMARY KEY
, mld_opdr_key
NUMBER(10)
, mld_kenmerk_key
NUMBER(10)
, mld_kenmerkopdr_waarde
VARCHAR2(255)
, mld_kenmerkopdr_aanmaak
DATE
DEFAULT SYSDATE
, mld_kenmerkopdr_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT mld_r_mld_kenmerk_opdr_key1 CHECK(mld_opdr_key IS NOT NULL)
, CONSTRAINT mld_r_mld_kenmerk_key3 CHECK(mld_kenmerk_key IS NOT NULL)
, CONSTRAINT mld_r_mld_kenmerk_key4 FOREIGN KEY(mld_kenmerk_key) REFERENCES mld_kenmerk(mld_kenmerk_key)
, CONSTRAINT mld_c_mld_kenmerkopdr_aanm CHECK(mld_kenmerkopdr_aanmaak IS NOT NULL)
, CONSTRAINT mld_u_mld_kenmerkopdr UNIQUE(mld_kenmerk_key, mld_opdr_key, mld_kenmerkopdr_verwijder)
);
ALTER TABLE MLD_KENMERK ADD mld_typeopdr_key NUMBER(10);
ALTER TABLE MLD_KENMERK DROP CONSTRAINT mld_c_mld_kenmerk_niveau2;
ALTER TABLE MLD_KENMERK ADD CONSTRAINT mld_c_mld_kenmerk_niveau2
CHECK(mld_kenmerk_niveau IN ('D','S','O'));
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_r_mld_srtkenmerk_key3 FOREIGN KEY(mld_typeopdr_key) REFERENCES mld_typeopdr(mld_typeopdr_key);
ALTER TABLE MLD_KENMERK DROP CONSTRAINT mld_r_mld_srtkenmerk_key1;
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_r_mld_srtkenmerk_keys
CHECK( (mld_typeopdr_key IS NULL AND mld_stdmelding_key IS NOT NULL)
OR (mld_typeopdr_key IS NOT NULL AND mld_stdmelding_key IS NULL));
ALTER TABLE MLD_KENMERK DROP CONSTRAINT mld_u_mld_kenmerk;
ALTER TABLE MLD_KENMERK ADD
CONSTRAINT mld_u_mld_kenmerk UNIQUE(mld_srtkenmerk_key, mld_stdmelding_key, mld_typeopdr_key, mld_kenmerk_niveau);
CREATE SEQUENCE mld_s_mld_kenmerkopdr_key MINVALUE 1;
CREATE_TRIGGER(mld_t_mld_typeopdr_B_IU)
BEFORE INSERT OR UPDATE ON mld_typeopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_typeopdr_key,mld_s_mld_stdmelding_key);
UPDATE_UPPER(mld_typeopdr_omschrijving,mld_typeopdr_upper);
END;
/
CREATE_TRIGGER(mld_t_mld_kenmerkopdr_b_iu)
BEFORE INSERT OR UPDATE ON mld_kenmerkopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_kenmerkopdr_key, mld_s_mld_kenmerkopdr_key);
-- Controleer eerst of de ingevulde waarde goed is.
--
IF :new.mld_kenmerkopdr_waarde <> :old.mld_kenmerkopdr_waarde
OR :old.mld_kenmerkopdr_waarde IS NULL
OR :new.mld_kenmerkopdr_waarde IS NULL
THEN
DECLARE
SrtKenmerkOmschr mld_srtkenmerk.mld_srtkenmerk_omschrijving%TYPE;
SrtKenmerkType mld_srtkenmerk.mld_srtkenmerk_kenmerktype%TYPE;
SrtKenmerkLengte mld_srtkenmerk.mld_srtkenmerk_lengte%TYPE;
SrtKenmerkDec mld_srtkenmerk.mld_srtkenmerk_dec%TYPE;
SrtKenmerkNMin mld_srtkenmerk.mld_srtkenmerk_nmin%TYPE;
SrtKenmerkNMax mld_srtkenmerk.mld_srtkenmerk_nmax%TYPE;
KenmerkVerplicht mld_kenmerk.mld_kenmerk_verplicht%TYPE;
RefSrtKenmerkKey NUMBER(10);
NumberWaarde NUMBER(15,5);
FormatMask VARCHAR2(60);
KenmerkOpdrWaarde mld_kenmerkopdr.mld_kenmerkopdr_waarde%TYPE;
BEGIN
KenmerkOpdrWaarde := :new.mld_kenmerkopdr_waarde;
--
SELECT MLD_SK.mld_srtkenmerk_omschrijving
, MLD_SK.mld_srtkenmerk_kenmerktype
, MLD_SK.mld_srtkenmerk_lengte
, MLD_SK.mld_srtkenmerk_dec
, MLD_SK.mld_srtkenmerk_nmin
, MLD_SK.mld_srtkenmerk_nmax
, MLD_SK.mld_refsrtkenmerk_key
, MLD_K.mld_kenmerk_verplicht
INTO SrtKenmerkOmschr
, SrtKenmerkType
, SrtKenmerkLengte
, SrtKenmerkDec
, SrtKenmerkNMin
, SrtKenmerkNMax
, RefSrtKenmerkKey
, KenmerkVerplicht
FROM mld_srtkenmerk MLD_SK
, mld_kenmerk MLD_K
WHERE MLD_SK.mld_srtkenmerk_key = MLD_K.mld_srtkenmerk_key
AND MLD_K.mld_kenmerk_key = :new.mld_kenmerk_key;
--
-- Controleer eerst of het verplichte veld ingevuld is.
--
IF KenmerkVerplicht IS NOT NULL AND KenmerkOpdrWaarde IS NULL
THEN
APPLICATION_ERROR_GOTO(-20004, 'mld_m240,'||SrtKenmerkOmschr);
--
-- Kijk welk KenmerkType gebruikt wordt.
-- Aan de hand daarvan moet een controle uitgevoerd worden.
--
ELSIF SrtKenmerkType = 'C'
THEN
-- CHAR
-- Controleer of de lengte te groot of goed is.
IF LENGTH(KenmerkOpdrWaarde) > SrtKenmerkLengte
THEN
APPLICATION_ERROR_GOTO(-20004, 'mld_m241,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0
THEN
FormatMask := RPAD('9', SrtKenmerkLengte, '9');
ELSE
FormatMask := RPAD('9', SrtKenmerkLengte - SrtKenmerkDec, '9')||
'D'||RPAD('9', SrtKenmerkDec, '9');
END IF;
--
BEGIN
#ifdef MS_SQL
DECLARE isnum smallint;
isnum := WEB.IsNumberString(@KenmerkOpdrWaarde)
if isnum = -1 GOTO lcontinue
if isnum = 0 BEGIN
FormatMask := REPLACE(FormatMask, '9', '#');
FormatMask := REPLACE(FormatMask, '0', '#');
FormatMask := REPLACE(FormatMask, 'D', '.');
APPLICATION_ERROR_GOTO(-20004,'mld_m242,'||SrtKenmerkOmschr||','||FormatMask);
END;
#endif
NumberWaarde := TO_NUMBER(KenmerkOpdrWaarde);
#ifndef MS_SQL
EXCEPTION
WHEN OTHERS
THEN FormatMask := REPLACE(FormatMask, '9', '#');
FormatMask := REPLACE(FormatMask, '0', '#');
FormatMask := REPLACE(FormatMask, 'D', '.');
raise_application_error(-20004,'mld_m242,'||SrtKenmerkOmschr||','||FormatMask);
#endif
END;
-- Controleer of de waarde binnen NMin en NMax ligt.
IF (SrtKenmerkNMin IS NOT NULL AND NumberWaarde < SrtKenmerkNMin)
OR (SrtKenmerkNMax IS NOT NULL AND NumberWaarde > SrtKenmerkNMax)
THEN
APPLICATION_ERROR_GOTO(-20004, 'mld_m243,'||SrtKenmerkOmschr||','||
TO_CHAR(SrtKenmerkNMin)||','||
TO_CHAR(SrtKenmerkNMax));
ELSE
-- Controleer of de waarde aan het formaat voldoet.
KenmerkOpdrWaarde := LTRIM(NUMBER_TO_CHAR(NumberWaarde, FormatMask));
IF INSTR2(KenmerkOpdrWaarde, '#') <> 0
THEN
FormatMask := REPLACE(FormatMask, '9', '#');
FormatMask := REPLACE(FormatMask, '0', '#');
FormatMask := REPLACE(FormatMask, 'D', '.');
APPLICATION_ERROR_GOTO(-20004,'mld_m242,'||SrtKenmerkOmschr||','||FormatMask);
END IF;
END IF;
-- Zet de geconverteerde waarde terug.
:new.mld_kenmerkopdr_waarde := KenmerkOpdrWaarde;
ELSIF SrtKenmerkType = 'D'
THEN
-- DATUM
#ifdef MS_SQL
DECLARE isdat smallint;
isdat := WEB.IsDateString(@KenmerkOpdrWaarde,'DD-MM-YYYY')
if isdat = -1 GOTO lcontinue
if isdat = 0 BEGIN
FormatMask := 'DD-MM-YYYY';
APPLICATION_ERROR_GOTO(-20004,'mld_m242,'||SrtKenmerkOmschr||','||FormatMask);
END;
#endif
KenmerkOpdrWaarde := DATE_TO_CHAR(TO_DATE(KenmerkOpdrWaarde,'DD-MM-YYYY'),'DD-MM-YYYY');
-- Zet de geconverteerde waarde terug.
:new.mld_kenmerkopdr_waarde := KenmerkOpdrWaarde;
END IF;
END;
#ifdef MS_SQL
lcontinue:
#endif
END IF;
END;
/
create index mld_i_mld_kenmerkopdr1 on mld_kenmerkopdr(mld_opdr_key);
create index mld_i_mld_kenmerkopdr2 on mld_kenmerkopdr(mld_kenmerk_key);
create index mld_i_mld_kenmerkopdr3 on mld_kenmerkopdr(mld_kenmerkopdr_waarde);
/////////////////////////////////////////////////////////////////////////////////////////////////FSN#657
ALTER TABLE MLD_STDMELDING ADD ins_srtinst_key NUMBER(10);
ALTER TABLE MLD_STDMELDING ADD ins_srtinst_niveau VARCHAR2(1) CHECK (ins_srtinst_niveau IN ('D','G','S'));
/////////////////////////////////////////////////////////////////////////////////////////////////FSN#582
ALTER TABLE prs_perslideenheid
ADD
(
prs_afdeling_key
NUMBER(10)
CONSTRAINT prs_c_prs_afdeling_key2 CHECK (prs_afdeling_key IS NOT NULL)
CONSTRAINT prs_r_prs_afdeling_key3 REFERENCES prs_afdeling(prs_afdeling_key)
);
ALTER TABLE prs_perslideenheid
DROP CONSTRAINT PRS_C_PRS_EENHEID_KEY1;
UPDATE prs_perslideenheid pe
SET prs_afdeling_key =
(SELECT prs_afdeling_key
FROM prs_afdeling a, prs_eenheid e
WHERE a.prs_afdeling_naam = e.prs_eenheid_code
AND e.prs_eenheid_key = pe.prs_eenheid_key
AND prs_afdeling_parentkey IS NULL);
-- Abo 29-03-2004 AKZA Oplossing voor het niet (meer) kunnen toekennen van meerdere companies aan de PZ-functionaris
alter table prs_perslideenheid drop constraint PRS_U_PRS_PERSLIDEENHEID_KEY;
alter table prs_perslideenheid add constraint PRS_U_PRS_PERSLIDEENHEID_KEY unique (prs_perslid_key,prs_afdeling_key);
/////////////////////////////////////////////////////////////////////////////////////////////////FSN#663
ALTER TABLE prs_contactpersoon ADD prs_contactpersoon_tussenv VARCHAR2(15);
ALTER TABLE prs_contactpersoon ADD prs_contactpersoon_functie VARCHAR2(30);
ALTER TABLE prs_contactpersoon ADD prs_contactpersoon_titel VARCHAR2(10);
ALTER TABLE PRS_CONTACTPERSOON MODIFY prs_contactpersoon_aanhef VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////////////FSN#672
update prs_perslid
set prs_perslid_oslogin=null
where prs_perslid_verwijder is not null;
ALTER TABLE prs_perslid ADD CONSTRAINT prs_u_prs_oslogin UNIQUE (prs_perslid_oslogin, prs_perslid_verwijder);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#656
ALTER TABLE mld_opdr
ADD
(
prs_perslid_key
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE mld_opdr
ADD
(
prs_contactpersoon_key
NUMBER(10)
CONSTRAINT mld_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key)
);
#define DEF_FAC_FUNCTIE(c, o, m, l, d, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m, fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_info=i WHERE fac_functie_code=c
/* Just insert the code from web_ini here:*/
DEF_FAC_FUNCTIE('WEB_RESUSE', 'FrontEnd:Reserveringen', 'RES', 0, 1,'Om zelf een zaal met voorzieningen te kunnen reserveren');
DEF_FAC_FUNCTIE('WEB_MLDUSE', 'FrontEnd:ServiceDesk', 'MLD', 0, 1,'Om zelf meldingen te kunnen doen');
DEF_FAC_FUNCTIE('WEB_BESUSE', 'FrontEnd:Bestellingen', 'BES', 0, 1,'Om zelf bestellingen te kunnen doen');
/* Personal functions */
DEF_FAC_FUNCTIE('WEB_PRSOBJ', 'FrontEnd:Bezittingen', 'PRS', 3, null,'Om zelf te kunnen inzien welke zaken er aan je toegekend zijn');
DEF_FAC_FUNCTIE('WEB_PROFIL', 'FrontEnd:Profiel', 'PRS', 3, null,'Om zelf al je geregistreerde gegevens te kunnen inzien');
DEF_FAC_FUNCTIE('WEB_PROFIL', 'Persoonlijk:Gegevens', 'PRS', 3, null,'Om zelf wijzigingen aan te kunnen geven in de eigen persoonsgegevens');
/* Business functions */
DEF_FAC_FUNCTIE('WEB_PHONEB', 'Business:Telefoonboek', 'PRS', 3, null,'Om zelf de gegevens van medewerkers op te kunnen zoeken');
DEF_FAC_FUNCTIE('WEB_BEZUSE', 'Business:Bezoekers', 'BEZ', 0, null,'Om zelf verwachte bezoekers aan te kunnen melden');
DEF_FAC_FUNCTIE('WEB_USRRAP', 'Business:Rapportages', 'REP', 0, null,'Om voorgedefinieerde (vaste) rapportages te kunnen uitvoeren');
/* Facilitor Graphics functions */
DEF_FAC_FUNCTIE('WEB_SPACE', 'Graphics:Ruimtebeheer', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_CLEAN', 'Graphics:Schoonmaak', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_INST', 'Graphics:Objecten', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_REDLIN', 'Graphics:*Redlining*', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_PERSON', 'Graphics:Wie-zit-waar?', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_EPLAN', 'Graphics:Ontruimingsplan', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_FGPLAN', 'Graphics:Plattegronden', 'CAD', 0, null,'');
DEF_FAC_FUNCTIE('WEB_FGTERR', 'Graphics:Terreinbeheer', 'CAD', 0, null,'');
/* Frontoffice functions */
DEF_FAC_FUNCTIE('WEB_RESFOF', 'Frontoffice:Reserveringen', 'RES', 2, 1,'Om reserveringen voor anderen te kunnen doen etc');
DEF_FAC_FUNCTIE('WEB_RESFO2', 'Frontoffice:Reserv.inzage', 'RES', 2, 1,'Om reserveringen te kunnen inzien');
DEF_FAC_FUNCTIE('WEB_MLDFOF', 'Frontoffice:Meldingen', 'MLD', 15, 1,'Om meldingen voor anderen te kunnen doen etc');
DEF_FAC_FUNCTIE('WEB_BESFOF', 'Frontoffice:Bestellingen', 'BES', 7, 1,'Om bestellingen voor anderen te kunnen doen etc.');
DEF_FAC_FUNCTIE('WEB_SLEFOF', 'Frontoffice:Sleutelbeheer', 'SLE', 0, null,'Om sleuteluitgifte/-inname/-bezit te registeren');
DEF_FAC_FUNCTIE('WEB_PRSFOF', 'Frontoffice:Nieuwe medewerkers', 'PRS', 0, null,'Het aanmelden van nieuwe medewerkers');
/* Backoffice functions */
DEF_FAC_FUNCTIE('WEB_RESBOF', 'Backoffice:Reserveringen', 'RES', 0, 1,'Om reserveringen af te kunnen handelen');
DEF_FAC_FUNCTIE('WEB_MLDBOF', 'Backoffice:ServiceDesk', 'MLD', 15, 1,'Om meldingen af te kunnen handelen');
DEF_FAC_FUNCTIE('WEB_MLDBO2', 'Backoffice:ServiceDesk-afmeld', 'MLD', 15, 1,'Om alleen meldingen af te kunnen melden');
DEF_FAC_FUNCTIE('WEB_ORDBOF', 'Backoffice:Opdrachten', 'MLD', 11, 1,'Om (interne) opdrachten uit te kunnen voeren');
DEF_FAC_FUNCTIE('WEB_BESBOF', 'Backoffice:Bestelaanvragen', 'BES', 7, 1,'Om bestelaanvragen te kunnen verwerken tot opdrachten');
DEF_FAC_FUNCTIE('WEB_BESBOR', 'Backoffice:Bestelopdrachten','BES', 7, 1,'Om bestelopdrachten/leveringen af te kunnen handelen');
DEF_FAC_FUNCTIE('WEB_BEZBAC', 'Backoffice:Bezoekers', 'BEZ', 0, null,'Om ontvangst van verwachte bezoekers te kunnen registreren');
DEF_FAC_FUNCTIE('WEB_PRSMAN', 'Backoffice:Personenbeheer', 'PRS', 7, null,'Om de persoonsgegevens van medewerkers te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_RELMAN', 'Backoffice:Relatiebeheer', 'PRS', 3, null,'Om de gegevens van externe relaties/bedrijven te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_ALGMAN', 'Backoffice:Vastgoedbeheer', 'ALG', 11, null,'Om de vastgoedgegevens te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_ALGUSE', 'Backoffice:Ruimtegebruik', 'ALG', 15, null,'Om het ruimtegebruik te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_OBJMAN', 'Backoffice:Objectbeheer', 'INS', 15, 1, 'Om objectgegevens te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_SLEBOF', 'Backoffice:Sleutelbeheer', 'SLE', 0, null,'Om cilinders en sleutels te kunnen beheren');
DEF_FAC_FUNCTIE('WEB_CNTBUS', 'Backoffice:Contracten', 'CNT', 0, null,'Om contractgegevens te kunnen beheren');
/* Management Info functions */
DEF_FAC_FUNCTIE('WEB_RESBAC', 'Info:Reserveringen', 'RES', 0, 1,'Om historische gegevens m.b.t. Reservingen te kunnen raadplegen');
DEF_FAC_FUNCTIE('WEB_MLDBAC', 'Info:ServiceDesk', 'MLD', 15, 1,'Om historische gegevens m.b.t. Reservingen te kunnen raadplegen');
DEF_FAC_FUNCTIE('WEB_BESBAC', 'Info:Bestellingen', 'BES', 5, 1,'Om historische gegevens m.b.t. Reservingen te kunnen raadplegen');
DEF_FAC_FUNCTIE('WEB_HLPADM', 'Beheer: WebHelp aanpassen', 'FAC', 0, null,'Om als beheerder de Helpteksten aan te kunnen passen');
DEF_FAC_FUNCTIE('WEB_PRSSYS', 'Beheer: Gebruikersbeheer', 'FAC', 0, null,'Om als beheerder de gebruikers te kunnen beheren');
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.42'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.42'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,398 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.42 naar 4.43
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.42 naar 4.43
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.42 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x442to443.LST
UPDATE_VERSION('04.43');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#
ALTER TABLE FAC_FUNCTIE MODIFY fac_functie_discipline DEFAULT 0;
UPDATE FAC_FUNCTIE SET fac_functie_discipline=0 WHERE fac_functie_discipline IS NULL;
ALTER TABLE FAC_FUNCTIE ADD CONSTRAINT fac_c_fac_functie_discipline CHECK(fac_functie_discipline IS NOT NULL);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#
CREATE SEQUENCE cnt_s_cnt_onrgoed_key MINVALUE 1 CACHE 2;
CREATE SEQUENCE cnt_s_cnt_mutatie_key MINVALUE 1 CACHE 2;
CREATE SEQUENCE sch_s_sch_programma_key MINVALUE 1;
CREATE SEQUENCE sch_s_sch_programma_b_key MINVALUE 1;
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN #720
DEF_FAC_FUNCTIE('WEB_ORDSUP', 'Backoffice:Opdrachten Extra','MLD',0, 0,'Om extra gegevens te kunnen beheren');
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#728
DEF_FAC_FUNCTIE('WEB_SCHBOF', 'Backoffice:Schoonmaakprogramma','SCH', 0, null,'Om schoonmaakprogramma''s te kunnen beheren');
CREATE_TABLE(sch_programma, SCH_BIBLIOTHEEK_PRIVILEGE)
(
sch_programma_key
NUMBER(10)
CONSTRAINT sch_k_sch_programma_key PRIMARY KEY,
sch_programma_code
VARCHAR2(30)
NOT_NULL(sch_programma_code, sch_c_sch_programma_code),
sch_programma_srtruimte_key
NUMBER(10)
CONSTRAINT sch_r_sch_srtruimte_key REFERENCES fac_usrdata(fac_usrdata_key),
sch_programma_srtvloer_key
NUMBER(10)
CONSTRAINT sch_r_sch_srtvloer_key REFERENCES fac_usrdata(fac_usrdata_key),
sch_programma_frequentie_key
NUMBER(10)
CONSTRAINT sch_r_sch_frequentie_key REFERENCES fac_usrdata(fac_usrdata_key),
sch_programma_document
VARCHAR2(255)
CONSTRAINT sch_u_sch_programma_code UNIQUE
);
CREATE_TABLE(sch_programma_bedrijf,SCH_BIBLIOTHEEK_PRIVILEGE)
(
sch_programma_bedrijf_key
NUMBER(10)
CONSTRAINT sch_k_sch_prog_bedrijf_key PRIMARY KEY,
sch_programma_key
NUMBER(10)
NOT_NULL(sch_programma_key, sch_c_sch_programma_key)
CONSTRAINT sch_r_sch_programma_key REFERENCES sch_programma(sch_programma_key),
prs_bedrijf_key
NUMBER(10)
CONSTRAINT sch_r_prs_bedrijf_key REFERENCES prs_bedrijf(prs_bedrijf_key),
sch_programma_bedrijf_kental
NUMBER(9,6)
);
CREATE_VIEW(sch_v_srtvloer, SCH_NORMAAL_PRIVILEGE)
(sch_srtvloer_key,
sch_srtvloer_omschrijving,
sch_srtvloer_upper,
sch_srtvloer_aanmaak,
sch_srtvloer_verwijder) AS
SELECT ALG_SV.alg_srtvloer_key,
ALG_SV.alg_srtvloer_omschrijving,
ALG_SV.alg_srtvloer_upper,
ALG_SV.alg_srtvloer_aanmaak,
ALG_SV.alg_srtvloer_verwijder
FROM alg_v_srtvloer ALG_SV;
DEFINIEER_VIEW_AANWEZIG(sch_v_srtvloer, sch_srtvloer_verwijder,
sch_v_aanwezigsrtvloer,SCH_NORMAAL_PRIVILEGE);
CREATE_TRIGGER(sch_t_sch_programma_b_iu)
BEFORE INSERT OR UPDATE ON sch_programma
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(sch_programma_key, sch_s_sch_programma_key);
END;
/
CREATE_TRIGGER(sch_t_sch_programma_b_b_iu)
BEFORE INSERT OR UPDATE ON sch_programma_bedrijf
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(sch_programma_bedrijf_key, sch_s_sch_programma_b_key);
END;
/
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#737
ALTER TABLE PRS_KENMERK MODIFY prs_kenmerk_lengte NUMBER(3);
ALTER TABLE ALG_KENMERK MODIFY alg_kenmerk_lengte NUMBER(3);
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN#749
/* NOTE: this is a redefinition of this macro,to support updating with the same sources; it assumes all functions are present already */
#define DEF_FAC_FUNCTIE(c, o, m, l, d, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m, fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_info=i WHERE fac_functie_code=c
/* Just insert the code from web_ini here:*/
DEF_FAC_FUNCTIE('WEB_MLDUSE', 'FrontEnd:ServiceDesk', 'MLD', 11, 1,'Om zelf meldingen te kunnen doen');
//////////////////////////////////////////////////////////////////////////////////////////////////////FSN #701
ALTER TABLE mld_srtkenmerk
DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype;
ALTER TABLE mld_srtkenmerk
ADD CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L'));
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.43.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.43.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

File diff suppressed because it is too large Load Diff

View File

@@ -1,360 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.44 naar 4.45
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.44 naar 4.45
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.44 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x444to445.LST
UPDATE_VERSION('04.45');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
/////////////////////////////////////////////////////////////////////////////////////////////////
-- AKZA#318 Koppelen meerdere afdelingen aan pz-ers
alter table prs_perslideenheid drop constraint prs_u_prs_perslideenheid_key;
alter table prs_perslideenheid add constraint prs_u_prs_perslideenheid_key unique (prs_perslid_key,prs_afdeling_key);
/////////////////////////////////////////////////////////////////////////////////////////////////
-- FSN#547 Gebruik van key ipv naam contactpersoon in MI Servicedesk
ALTER TABLE mld_opdr DISABLE ALL TRIGGERS;
UPDATE mld_opdr o
SET prs_perslid_key =
(SELECT prs_perslid_key
FROM PRS_V_PERSLID_FULLNAMES_ALL p
WHERE p.prs_perslid_naam_full = o.mld_opdr_contactpersoon)
WHERE prs_perslid_key IS NULL;
ALTER table mld_opdr ENABLE ALL TRIGGERS;
/////////////////////////////////////////////////////////////////////////////////////////////////
-- FSN#701 Toevoegen dummy veld en label veld bij flexibele kenmerken
-- MLD
ALTER TABLE mld_srtkenmerk DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype;
ALTER TABLE mld_srtkenmerk ADD CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
-- RES
ALTER TABLE res_srtkenmerk DROP CONSTRAINT res_c_res_srtkenmerk_kenmtype;
ALTER TABLE res_srtkenmerk ADD CONSTRAINT res_c_res_srtkenmerk_kenmtype CHECK(res_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
-- CNT
ALTER TABLE cnt_srtkenmerk DROP CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype;
ALTER TABLE cnt_srtkenmerk ADD CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype CHECK(cnt_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
-- INS
ALTER TABLE ins_srtkenmerk DROP CONSTRAINT ins_c_ins_srtkenmerk_kenmtype;
ALTER TABLE ins_srtkenmerk ADD CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
-- ALG
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_type;
ALTER TABLE alg_kenmerk ADD CONSTRAINT alg_c_alg_kenmerk_type CHECK(alg_kenmerk_kenmerktype IS NOT NULL AND alg_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
-- Onderstaande statement voor de volledigheid opgenomen, kan redundant zijn (in dit geval ORA negeren: ORA-02443: Cannot drop constraint - nonexistent constraint).
ALTER TABLE alg_kenmerk DROP CONSTRAINT ALG_C_ALG_KENMERK_TYPE2;
-- PRS
ALTER TABLE prs_kenmerk DROP CONSTRAINT prs_c_prs_kenmerk_type2;
ALTER TABLE prs_kenmerk ADD CONSTRAINT prs_c_prs_kenmerk_type2 CHECK(prs_kenmerk_kenmerktype IS NOT NULL and prs_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'));
/////////////////////////////////////////////////////////////////////////////////////////////////
-- FSN #766
DROP SEQUENCE res_s_res_cyclus;
CREATE SEQUENCE res_s_res_cyclus MINVALUE 20;
/////////////////////////////////////////////////////////////////////////////////////////////////
// Insert van WEB_TERMAN kan foutmelding opleveren als deze functie
// reeds eerder is toegevoegd (is echter niet bij alle klanten gebeurd
// vandaar deze insert nogmaals is opgenomen.
-- FSN #994
DEF_FAC_FUNCTIE('WEB_TERMAN', 'Graphics:Terreinbeheer', 'CAD', 0, 0,'');
-- CONN#122
DEF_FAC_FUNCTIE('WEB_OBJUSE', 'Backoffice:Objectverbruik', 'INS', 15, 1,'Om objectverbruik te registreren');
-- CONN#121
/* NOTE: this is a redefinition of this macro,to support updating with the same sources; it assumes all functions are present already */
#define DEF_FAC_FUNCTIE(c, o, m, l, d, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m, fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_info=i WHERE fac_functie_code=c
DEF_FAC_FUNCTIE('WEB_PHONEB', 'Business:Telefoonboek', 'PRS', 13, 0,'Om zelf de gegevens van medewerkers op te kunnen zoeken');
-- CONN#172
ALTER TABLE INS_SRTDEEL MODIFY (INS_SRTDEEL_EENHEID VARCHAR2(30));
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.44.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.44.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.
99

View File

@@ -1,630 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.45 naar 4.46
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.45 naar 4.46
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.45 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x454to456.LST
UPDATE_VERSION('04.46');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////////////////////////////////////////////////////////////CONN#168
CREATE TABLE FAC_GROEPRECHTEN
(
FAC_GROEPRECHTEN_KEY NUMBER(10) CONSTRAINT fac_k_groeprechten_key PRIMARY KEY,
FAC_GROEP_KEY NUMBER(10),
FAC_FUNCTIE_KEY NUMBER(10),
INS_DISCIPLINE_KEY NUMBER(10),
FAC_GEBRUIKER_PRS_LEVEL_READ NUMBER(1),
FAC_GEBRUIKER_ALG_LEVEL_READ NUMBER(1),
FAC_GEBRUIKER_PRS_LEVEL_WRITE NUMBER(1),
FAC_GEBRUIKER_ALG_LEVEL_WRITE NUMBER(1),
CONSTRAINT fac_u_fac_groeprechten UNIQUE(FAC_GROEP_KEY, FAC_FUNCTIE_KEY, INS_DISCIPLINE_KEY)
);
CREATE SEQUENCE fac_s_fac_groeprechten_key MINVALUE 1;
CREATE OR REPLACE TRIGGER fac_t_fac_groeprechten_B_IU
BEFORE INSERT OR UPDATE ON fac_groeprechten
FOR EACH ROW
BEGIN
IF :new.fac_groeprechten_key IS NULL THEN
SELECT fac_s_fac_groeprechten_key.nextval INTO :new.fac_groeprechten_key FROM DUAL;
END IF;
END;
/
CREATE OR REPLACE TRIGGER fac_t_groeprechten_B_IU
BEFORE INSERT OR UPDATE ON fac_groeprechten
FOR EACH ROW
DECLARE
Dummy BOOLEAN;
BEGIN
IF :new.fac_groeprechten_key IS NULL THEN SELECT fac_s_fac_groeprechten_key.nextval INTO :new.fac_groeprechten_key FROM DUAL; END IF;
IF ((:new.fac_gebruiker_prs_level_read = 9) OR (:new.fac_gebruiker_prs_level_read IS NULL))
AND ((:new.fac_gebruiker_prs_level_write = 9) OR (:new.fac_gebruiker_prs_level_write IS NULL))
AND ((:new.fac_gebruiker_alg_level_read = 9) OR (:new.fac_gebruiker_alg_level_read IS NULL))
AND ((:new.fac_gebruiker_alg_level_write = 9) OR (:new.fac_gebruiker_alg_level_write IS NULL))
THEN
Dummy := Fac_P_Fac_Save_Restore.SavePrimaryKey('FAC_GROEPRECHTEN',:new.fac_groeprechten_key);
END IF;
END;
/
CREATE OR REPLACE TRIGGER fac_t_fac_groeprechten_A_IU
AFTER INSERT OR UPDATE ON fac_groeprechten
DECLARE
PrimKey NUMBER(10);
Dummy BOOLEAN;
BEGIN
PrimKey := Fac_P_Fac_Save_Restore.GetPrimaryKey('FAC_GROEPRECHTEN',1);
IF PrimKey IS NOT NULL
THEN
DELETE
FROM FAC_groeprechten
WHERE fac_groeprechten_key = PrimKey;
--
Dummy := fac_p_fac_save_restore.ResetSelectie('FAC_GROEPRECHTEN');
END IF;
END;
/
-- Originele rechten overhalen
INSERT INTO fac_groeprechten
(fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, fac_gebruiker_kolomkey,
MIN(fac_gebruiker_prs_level_read), MIN(fac_gebruiker_alg_level_read),
MIN(fac_gebruiker_prs_level_write), MIN(fac_gebruiker_alg_level_write)
FROM fac_gebruiker
WHERE fac_gebruiker.fac_groep_key IS NOT NULL
GROUP BY fac_groep_key, fac_functie_key, fac_gebruiker_kolomkey;
-- Maak voor elke persoon met prive rechten een eigen groep aan
insert into fac_groep (fac_groep_omschrijving)
select distinct(prs_perslid_upper) from fac_gebruiker, prs_perslid
where fac_gebruiker.prs_perslid_key is not null
and fac_gebruiker.prs_perslid_key = prs_perslid.prs_perslid_key;
insert into fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
SELECT fac_groep.fac_groep_key, fac_gebruiker.prs_perslid_key
FROM fac_gebruiker, fac_groep, prs_perslid
WHERE fac_gebruiker.prs_perslid_key = prs_perslid.prs_perslid_key
and fac_groep.fac_groep_omschrijving = prs_perslid.prs_perslid_upper
and fac_gebruiker.prs_perslid_key is not null
and fac_gebruiker.fac_groep_key IS NULL
group by fac_groep.fac_groep_key, fac_gebruiker.prs_perslid_key;
-- Neem de prive rechten over.
INSERT INTO fac_groeprechten
(fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_write)
SELECT fac_groep.fac_groep_key, fac_functie_key, fac_gebruiker_kolomkey,
min(fac_gebruiker_prs_level_read), min(fac_gebruiker_alg_level_read),
min(fac_gebruiker_prs_level_write), min(fac_gebruiker_alg_level_write)
FROM fac_gebruiker, prs_perslid, fac_groep
WHERE fac_gebruiker.prs_perslid_key = prs_perslid.prs_perslid_key
and fac_groep.fac_groep_omschrijving = prs_perslid.prs_perslid_upper
and fac_gebruiker.prs_perslid_key is not null
and fac_gebruiker.fac_groep_key IS NULL
group by fac_groep.fac_groep_key, fac_functie_key, fac_gebruiker_kolomkey;
-- Daarna
drop index fac_i_fac_gebruikersgroep1;
CREATE UNIQUE INDEX fac_i_fac_gebruikersgroep1 ON fac_gebruikersgroep(prs_perslid_key, fac_groep_key);
insert into fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name)
values ('AUTH: Rechten van groepen', 'fac_v_rap_groeprechten');
insert into fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name)
values ('AUTH: Personen in groepen', 'fac_v_rap_groepleden');
///////////////////////////////////////////////////////////////////////////////////////////CONN#168
ALTER TABLE FAC_USRRAP ADD
(
FAC_FUNCTIE_KEY
NUMBER(10)
CONSTRAINT fac_r_fac_usrrap_functie_key REFERENCES fac_functie(fac_functie_key)
)
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#013
CREATE_TABLE(bes_disc_params, CNT_BIBLIOTHEEK_PRIVILEGE)
( bes_disc_params_key
NUMBER(10)
CONSTRAINT bes_k_bes_disc_params_key PRIMARY KEY,
bes_ins_discipline_key
NUMBER(10)
NOT_NULL(bes_ins_discipline_key, bes_c_ins_discipline_key)
CONSTRAINT bes_r_ins_discipine_key REFERENCES ins_tab_discipline(ins_discipline_key),
bes_disc_params_bestellimiet
NUMBER(8,2)
DEFAULT 100000,
bes_disc_params_min_bedrag
NUMBER(8,2)
DEFAULT 0,
bes_disc_params_auto_order
NUMBER(1)
DEFAULT 0,
bes_disc_params_autoacceptrfo
NUMBER(1)
DEFAULT 0
);
CREATE SEQUENCE bes_s_bes_disc_params_key MINVALUE 1;
CREATE_TRIGGER(BES_T_BES_DISC_PARAMS_B_IU)
BEFORE INSERT OR UPDATE ON bes_disc_params
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_disc_params_key, bes_s_bes_disc_params_key);
END;
/
INSERT INTO bes_disc_params (bes_ins_discipline_key)
SELECT ins_discipline_key
FROM ins_tab_discipline
WHERE INS_DISCIPLINE_MODULE = 'BES';
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#200
ALTER TABLE mld_melding MODIFY mld_melding_opmerking VARCHAR2(1024);
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#161_BEGIN
DEF_FAC_FUNCTIE('WEB_MSGBOF', 'Info:Berichten', 'FAC', 0, 0,'Om berichten te verzenden naar (groepen) personen die bekend zijn in Facilitor.');
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (5, 'messages/message.asp?message_key=');
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (11, 'messages/message.asp?message_answer=true' || CHR(38) || 'message_key=');
INSERT INTO web_user_mess_text (web_user_mess_text_code, web_user_mess_text_dsc, web_user_mess_actions_key)
VALUES ('MESMES', 'Er is een bericht naar u verstuurd mbv Facilitor door ', 5);
-- CONN#122
/* NOTE: this is a redefinition of this macro,to support updating with the same sources; it assumes all functions are present already */
#define DEF_FAC_FUNCTIE(c, o, m, l, d, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m, fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_info=i WHERE fac_functie_code=c
DEF_FAC_FUNCTIE('WEB_OBJUSE', 'Backoffice:Objectgebruik', 'INS', 11, 1,'Om ge/verbruiksgegevens van objecten te registreren');
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (9, 'objects/consum_reg.asp?');
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#161_END
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#164_BEGIN
-- cnt_t_cnt_kenmerkcontract_b_iu
update cnt_kenmerkcontract
set CNT_KENMERKCONTRACT_WAARDE = to_char(to_date(to_char(to_date(CNT_KENMERKCONTRACT_WAARDE, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where cnt_kenmerk_key in
(select cnt_kenmerk_key
from cnt_kenmerk
where cnt_srtkenmerk_key in
(select cnt_srtkenmerk_key from cnt_srtkenmerk where CNT_SRTKENMERK_KENMERKTYPE = 'D'))
and CNT_KENMERKCONTRACT_WAARDE is not null;
-- prs_t_prs_kenmerkLink_b_iu
update prs_kenmerkLink
set prs_kenmerkLink_WAARDE = to_char(to_date(to_char(to_date(prs_kenmerklink_waarde, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where prs_kenmerk_key in
(select prs_kenmerk_key
from prs_kenmerk
where PRS_KENMERK_KENMERKTYPE = 'D')
and prs_kenmerkLink_WAARDE is not null;
-- mld_t_mld_kenmerkmelding_b_iu
update mld_kenmerkmelding
set mld_kenmerkmelding_WAARDE = to_char(to_date(to_char(to_date(mld_kenmerkmelding_WAARDE, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where mld_kenmerk_key in
(select mld_kenmerk_key
from mld_kenmerk
where mld_srtkenmerk_key in
(select mld_srtkenmerk_key
from mld_srtkenmerk
where MLD_SRTKENMERK_KENMERKTYPE = 'D'))
and mld_kenmerkmelding_WAARDE is not null;
-- mld_t_mld_kenmerkopdr_b_iu
update mld_kenmerkopdr
set mld_kenmerkopdr_WAARDE = to_char(to_date(to_char(to_date(mld_kenmerkopdr_WAARDE, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where mld_kenmerk_key in
(select mld_kenmerk_key
from mld_kenmerk
where mld_srtkenmerk_key in
(select mld_srtkenmerk_key
from mld_srtkenmerk
where MLD_SRTKENMERK_KENMERKTYPE = 'D'))
and mld_kenmerkopdr_WAARDE is not null;
-- alg_t_alg_onrgoedkenmerk_b_iu
update alg_onrgoedkenmerk
set alg_onrgoedkenmerk_WAARDE = to_char(to_date(to_char(to_date(alg_onrgoedkenmerk_WAARDE, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where alg_kenmerk_key in
(select alg_kenmerk_key
from alg_kenmerk
where alg_onrgoedkenmerk_WAARDE = 'D')
and alg_onrgoedkenmerk_WAARDE is not null;
-- ins_t_ins_kenmerkdeel_b_iu
update ins_kenmerkdeel
set ins_kenmerkdeel_WAARDE = to_char(to_date(to_char(to_date(ins_kenmerkdeel_WAARDE, 'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YY'),'DD-MM-YYYY')
where ins_kenmerk_key in
(select ins_kenmerk_key
from ins_kenmerk
where INS_SRTKENMERK_KEY in
(select INS_SRTKENMERK_KEY
from INS_SRTKENMERK
where INS_SRTKENMERK_kenmerktype = 'D'))
and ins_kenmerkdeel_WAARDE is not null;
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#164_END
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#195_BEGIN
create or replace view conn195_doubles as
select WEB_HELPSYSTEM_key, full_file_name, control_id, help_modes
from WEB_HELPSYSTEM
where full_file_name||control_id||help_modes in
(select full_file_name||control_id||help_modes
from WEB_HELPSYSTEM
where 1=1
having count(*) > 1
group by full_file_name, control_id, help_modes)
order by 2,3,4;
create or replace view conn195_doubles_master_keys as
select min(WEB_HELPSYSTEM_key) WEB_HELPSYSTEM_key
from conn195_doubles
group by full_file_name, control_id, help_modes;
delete from WEB_HELPSYSTEM
where WEB_HELPSYSTEM_key in (select WEB_HELPSYSTEM_key from conn195_doubles where 1=1)
and WEB_HELPSYSTEM_key not in (select WEB_HELPSYSTEM_key from conn195_doubles_master_keys where 1=1);
drop view conn195_doubles;
drop view conn195_doubles_master_keys;
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#195_END
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#128
ALTER TABLE cnt_contract_onrgoed
ADD
(
cnt_mld_melding_key
NUMBER(10)
CONSTRAINT cnt_r_mld_melding_key REFERENCES mld_melding(mld_melding_key)
);
ALTER TABLE cnt_contract_onrgoed
ADD
(
cnt_srtruimte_prijs
NUMBER(8,2)
);
// Add primary key for cnt_mutatie_status otherwise we can not use
// this key as a foreign key for cnt_contract_onrgoed
ALTER TABLE cnt_mutatie_status
ADD
(
CONSTRAINT CNT_K_CNT_MUTATIE_STATUS_KEY PRIMARY KEY (cnt_mutatie_status)
);
ALTER TABLE cnt_contract_onrgoed
ADD
(
cnt_mutatie_status_key
NUMBER(10)
DEFAULT 1
CONSTRAINT cnt_r_cnt_mutatie_status REFERENCES cnt_mutatie_status(cnt_mutatie_status)
);
/////////////////////////////////////////////////////////////////////////////////////////////////CONN #???
UPDATE bes_bestellingstatuses
SET bes_bestellingstatuses_omschr = 'Gefiatteerd'
WHERE bes_bestellingstatuses_key = 3;
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('BESFIT', 'Uw bestelaanvraag is gefiatteerd', 7);
/////////////////////////////////////////////////////////////////////////////////////////////////CONN #212
ALTER TABLE sch_programma
DROP CONSTRAINT sch_u_sch_programma_code;
ALTER TABLE sch_programma
ADD
(
CONSTRAINT sch_u_sch_programma_code UNIQUE (sch_programma_code)
);
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.46.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.46.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,792 +0,0 @@
#ifdef MS_SQL
-- This entire script must be run as user FCLT_EN, *not* as SA
-- When you restore a database on a differenct machine you may
-- not be able to log on as FCLT_EN. Run the following once as
-- user SA to solve that
-- sp_change_users_login 'Auto_fix', 'FCLT_EN'
#endif
--
-- Update script van Facilitor versie 4.46 naar 4.47
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.46 naar 4.47
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.46 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x446to447.LST
UPDATE_VERSION('04.47.0');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
/////////////////////////// approved by the Facilitor release manager //////////////////
/* prs_eenheid has become obsolete since 4.40 */
DROP TABLE prs_eenheid CASCADE CONSTRAINTS;
/* fac_gebruiker has been replaced by fac_groeprechten since 4.46 for Web. Remains in use for LAN */
DELETE FROM fac_gebruiker
WHERE fac_functie_key IN
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code LIKE 'WEB_%');
/* fac_selectie may contain (temporary) data left behind by an aborted action */
DELETE FROM fac_selectie;
/* realy remove deleted and unused ins flexprops */
DELETE FROM ins_kenmerkdeel
WHERE ins_kenmerkdeel_key IN (
SELECT ins_kenmerkdeel_key
FROM ins_kenmerk ik, ins_kenmerkdeel ID
WHERE ik.ins_kenmerk_key = ID.ins_kenmerk_key
AND ik.ins_kenmerk_verwijder IS NOT NULL);
DELETE FROM ins_kenmerk ik
WHERE ik.ins_kenmerk_verwijder IS NOT NULL;
DELETE FROM ins_srtkenmerk ik
WHERE ik.ins_srtkenmerk_verwijder IS NOT NULL;
/* Invalid report for old style authorizations */
DROP VIEW fac_v_web_autorisatie;
DELETE FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name) ='FAC_V_WEB_AUTORISATIE';
/* Suggested by JGL: */
DROP INDEX res_i_res_artikel1;
ALTER TABLE res_artikel DROP COLUMN prs_bedrijf_key CASCADE CONSTRAINTS;
/* AEG requested this */
ALTER TABLE cnt_contract DROP CONSTRAINT cnt_u_cnt_contract_nummer;
/*
Wat gaan we doen met de index die we voor cap geintroduceerd hebben om te
voorkomen dat we dubbele artikelen in de database krijgen? Dit script staat
in het archief onder '040820 SY05 CGEY AEG PATCH CAPG#87 om inconsistentie
in de database op te lossen ivm rapportages'
*/
///////////////////////////////////////////////////////////////////////////////////////////////// AKZA#443
ALTER TABLE bez_afspraak
ADD (bez_afspraak_gastheer VARCHAR2(30));
ALTER TABLE bez_afspraak
ADD (bez_afspraak_telefoonnr VARCHAR2(15));
UPDATE bez_afspraak a
SET a.bez_afspraak_gastheer =
(SELECT prs_perslid_naam FROM prs_perslid p WHERE p.prs_perslid_key = a.prs_perslid_key);
UPDATE bez_afspraak a
SET a.bez_afspraak_telefoonnr =
(SELECT prs_perslid_telefoonnr FROM prs_perslid p WHERE p.prs_perslid_key = a.prs_perslid_key);
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#137
CREATE_TABLE(prs_dienst, PRS_NORMAAL_PRIVILEGE)
(
prs_dienst_key
NUMBER(10)
PRIMARY KEY,
prs_dienst_omschrijving
VARCHAR2(60)
NOT_NULL(prs_dienst_omschrijving, prs_c_prs_dienst_omschrijving)
);
CREATE_TABLE(prs_bedrijfdienstlocatie, PRS_NORMAAL_PRIVILEGE)
(
prs_bedrijfdienstlocatie_key
NUMBER(10)
PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
NOT_NULL(prs_bedrijf_key, prs_c_prs_bedrijf_key2)
CONSTRAINT prs_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_dienst_key
NUMBER(10)
NOT_NULL(prs_dienst_key, prs_c_prs_dienst_key1)
CONSTRAINT prs_r_prs_dienst_key1 REFERENCES prs_dienst(prs_dienst_key) ON DELETE CASCADE,
alg_locatie_key
NUMBER(10)
CONSTRAINT prs_r_alg_locatie_key4 REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
CONSTRAINT prs_u_prs_bedrijfdienstloc_key UNIQUE (prs_bedrijf_key, prs_dienst_key, alg_locatie_key)
);
CREATE SEQUENCE prs_s_prs_dienst_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_bedrijfdienstloc_key MINVALUE 1;
CREATE_TRIGGER(prs_t_prs_dienst_B_IU)
BEFORE INSERT OR UPDATE ON prs_dienst
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_dienst_key,prs_s_prs_dienst_key);
END;
/
CREATE_TRIGGER(prs_t_prs_bedrijfdnstloc_B_IU)
BEFORE INSERT OR UPDATE ON prs_bedrijfdienstlocatie
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_bedrijfdienstlocatie_key,prs_s_prs_bedrijfdienstloc_key);
END;
/
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#237
CREATE_TABLE(ins_srtdiscipline,INS_BIBLIOTHEEK_PRIVILEGE)
(
ins_srtdiscipline_key
NUMBER(10)
CONSTRAINT ins_k_ins_srtdiscipline_key PRIMARY KEY,
ins_srtdiscipline_module
VARCHAR2(3)
DEFAULT 'INS'
NOT_NULL(ins_srtdiscipline_module, ins_c_ins_srtdisc_module),
ins_srtdiscipline_omschrijving
VARCHAR2(30)
NOT_NULL(ins_srtdiscipline_omschrijving, ins_c_ins_srtdisc_omschr),
ins_srtdiscipline_prefix
VARCHAR2(3),
ins_srtdiscipline_alg
NUMBER(1) DEFAULT(1)
CONSTRAINT ins_c_ins_srtdiscipline_alg CHECK(ins_srtdiscipline_alg IN (0,1)),
ins_srtdiscipline_ins
NUMBER(1) DEFAULT(1)
CONSTRAINT ins_c_ins_srtdiscipline_ins CHECK(ins_srtdiscipline_ins IN (0,1)),
ins_srtdiscipline_mld
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_mld CHECK(ins_srtdiscipline_mld IN (0,1)),
ins_srtdiscipline_bes /* reserved for future use */
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1)),
ins_srtdiscipline_prs /* reserved for future use */
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_prs CHECK(ins_srtdiscipline_prs IN (0,1)),
ins_srtdiscipline_res /* reserved for future use */
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_res CHECK(ins_srtdiscipline_res IN (0,1)),
ins_srtdiscipline_cnt /* reserved for future use */
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_cnt CHECK(ins_srtdiscipline_cnt IN (0,1)),
ins_srtdiscipline_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(ins_srtdiscipline_aanmaak, ins_c_ins_srtdisc_aanmaak),
ins_srtdiscipline_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT ins_u_ins_srtdisc_omschr UNIQUE (ins_srtdiscipline_omschrijving,
ins_srtdiscipline_module)
);
CREATE SEQUENCE ins_s_ins_srtdiscipline_key MINVALUE 1;
CREATE_TRIGGER(ins_t_ins_srtdiscipline_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtdiscipline
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtdiscipline_key,ins_s_ins_srtdiscipline_key);
END;
/
ALTER TABLE ins_tab_discipline
ADD ins_srtdiscipline_key NUMBER(10)
CONSTRAINT ins_r_ins_srtdiscipline_key1 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE SET NULL;
/* Provide an initial value */
INSERT INTO ins_srtdiscipline (ins_srtdiscipline_key, ins_srtdiscipline_module, ins_srtdiscipline_omschrijving)
VALUES (NULL,'MLD', 'Meldingen');
// Of storingen, klachten, wensen en Info?
/* Provide default value for existing records */
UPDATE ins_tab_discipline SET ins_srtdiscipline_key=(SELECT max(ins_srtdiscipline_key) FROM ins_srtdiscipline)
WHERE ins_discipline_module='MLD' AND ins_srtdiscipline_key IS NULL;
ALTER TABLE mld_melding
ADD mld_adres_key NUMBER(10)
CONSTRAINT mld_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key);
CREATE_TABLE(mld_typeopdr_srtdiscipline, MLD_BIBLIOTHEEK_PRIVILEGE)
(
mld_typeopdr_srtdiscipline_key
NUMBER(10)
PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
NOT_NULL(mld_typeopdr_key, mld_c_mld_typeopdr_key1)
CONSTRAINT mld_r_mld_typeopdr_key3 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
ins_srtdiscipline_key
NUMBER(10)
NOT_NULL(ins_srtdiscipline_key, mld_c_ins_srtdiscipline_key1)
CONSTRAINT mld_r_ins_srtdiscipline_key2 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE
);
CREATE SEQUENCE mld_s_mld_typeopdr_srtdisc MINVALUE 1 NOCACHE;
CREATE_TRIGGER(mld_t_mld_typeopdr_srtdi_B_IU)
BEFORE INSERT OR UPDATE ON mld_typeopdr_srtdiscipline
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_typeopdr_srtdiscipline_key,mld_s_mld_typeopdr_srtdisc);
END;
/
/* Initially, all existing types are valid for the standard (only) discipline */
INSERT INTO mld_typeopdr_srtdiscipline (mld_typeopdr_key,ins_srtdiscipline_key)
SELECT mld_typeopdr_key, ins_srtdiscipline_key
FROM mld_typeopdr, ins_srtdiscipline;
ALTER TABLE mld_typeopdr ADD
mld_typeopdr_decentraal
NUMBER(1) DEFAULT(0)
CONSTRAINT mld_c_mld_typeopdr_decentraal CHECK(mld_typeopdr_decentraal IN (0,1));
UPDATE mld_typeopdr SET mld_typeopdr_decentraal=1 WHERE mld_typeopdr_key=5;
UPDATE fac_functie SET fac_functie_min_level=15 WHERE fac_functie_code='WEB_ORDBOF';
UPDATE fac_functie SET fac_functie_info= 'Om (interne) opdrachten af te kunnen melden' WHERE fac_functie_code='WEB_ORDBOF';
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#892/1028
DROP TRIGGER fac_t_groeprechten_b_iu;
ALTER TABLE fac_groeprechten ADD
CONSTRAINT fac_r_groeprechten_functie FOREIGN KEY (fac_functie_key)
REFERENCES fac_functie (fac_functie_key);-- ON DELETE CASCADE);
---- Clean up rudiment of earlier authorizations method
DELETE FROM fac_groeprechten WHERE fac_functie_key IS NULL;
DELETE FROM fac_groeprechten WHERE fac_groeprechten_key IN (
SELECT fac_groeprechten_key FROM fac_groeprechten g , fac_functie f
WHERE f.fac_functie_discipline=1
AND f.fac_functie_key=g.fac_functie_key
AND g.ins_discipline_key is null);
DELETE FROM fac_groeprechten WHERE fac_groeprechten_key IN (
SELECT fac_groeprechten_key FROM fac_groeprechten g , fac_functie f
WHERE f.fac_functie_discipline=0
AND f.fac_functie_key=g.fac_functie_key
AND g.ins_discipline_key is not null);
-- Populate empty (irrelevant) values with -1
UPDATE fac_groeprechten SET fac_gebruiker_prs_level_read=-1 WHERE fac_functie_key IN (select fac_functie_key FROM fac_functie WHERE fac_functie_min_level IN (2,6,8,9,10,11,14));
UPDATE fac_groeprechten SET fac_gebruiker_prs_level_write=-1 WHERE fac_functie_key IN (select fac_functie_key FROM fac_functie WHERE fac_functie_min_level IN (1,5,8,9,10,11,13));
UPDATE fac_groeprechten SET fac_gebruiker_alg_level_read=-1 WHERE fac_functie_key IN (select fac_functie_key FROM fac_functie WHERE fac_functie_min_level IN (2,4,5,6,7,10,14));
UPDATE fac_groeprechten SET fac_gebruiker_alg_level_write=-1 WHERE fac_functie_key IN (select fac_functie_key FROM fac_functie WHERE fac_functie_min_level IN (1,4,5,6,7,9,13));
-- prevent inconsistencies from now
ALTER TABLE fac_groeprechten ADD
CONSTRAINT fac_c_fac_functie_key1 CHECK(fac_functie_key IS NOT NULL);
ALTER TABLE fac_groeprechten DROP
CONSTRAINT fac_r_groeprechten_groep;
ALTER TABLE fac_groeprechten ADD
CONSTRAINT fac_r_groeprechten_groep FOREIGN KEY (fac_groep_key)
REFERENCES fac_groep (fac_groep_key) ON DELETE CASCADE;
ALTER TABLE fac_groeprechten ADD
CONSTRAINT fac_c_fac_groep_key2 CHECK(fac_groep_key IS NOT NULL);
ALTER TABLE fac_groeprechten DROP
CONSTRAINT fac_r_groeprechten_disc;
ALTER TABLE fac_groeprechten ADD
CONSTRAINT fac_r_groeprechten_disc
FOREIGN KEY (ins_discipline_key)
REFERENCES ins_tab_discipline (INS_DISCIPLINE_KEY) ON DELETE CASCADE;
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1054
_FAC_MODULE('MRK','Facilitor Marktplaats')
DEF_FAC_FUNCTIE('WEB_MRKUSE', 'FrontEnd:Marktplaats', 'MRK', 0, 0, 'Om berichten op de marktplaats te zetten.');
DEF_FAC_FUNCTIE('WEB_MRKBOF', 'Backoffice:Marktplaats', 'MRK', 0, 0, 'Om berichten op marktplaats te beheren.');
CREATE_TABLE(mrk_bericht,0)
(
mrk_bericht_key
NUMBER(10)
CONSTRAINT mrk_c_mrk_bericht_key PRIMARY KEY,
prs_perslid_key
NUMBER(10)
NOT_NULL(prs_perslid_key, mrk_c_prs_perslid_key)
CONSTRAINT mrk_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key),
mrk_bericht_titel
VARCHAR2(30)
NOT_NULL(mrk_bericht_titel, mrk_c_mrk_bericht_titel),
mrk_bericht_omschrijving
VARCHAR2(1000)
NOT_NULL(mrk_bericht_omschrijving, mrk_c_mrk_bericht_omschrijving),
mrk_bericht_prijs
NUMBER(8,2),
mrk_bericht_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(mrk_bericht_aanmaak, mrk_c_mrk_bericht_aanmaak),
ins_discipline_key
NUMBER(10)
NOT_NULL(ins_discipline_key, mrk_c_ins_discipline_key)
CONSTRAINT mrk_r_ins_discipline_key1 REFERENCES ins_tab_discipline(ins_discipline_key));
CREATE SEQUENCE mrk_s_mrk_bericht_key MINVALUE 1 NOCACHE;
CREATE_TRIGGER(mrk_t_mrk_bericht_b_iu)
BEFORE INSERT OR UPDATE ON mrk_bericht
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mrk_bericht_key, mrk_s_mrk_bericht_key);
END;
/
-- Views for mrk_discipline and mrk_v_aanwezigdiscipline follow with the regular views
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1055
CREATE OR REPLACE VIEW tmp_doubles as
SELECT web_helpsystem_key, full_file_name, control_id, help_modes
FROM web_helpsystem
WHERE full_file_name||control_id||help_modes in
(SELECT full_file_name||control_id||help_modes
FROM web_helpsystem
HAVING COUNT(*) > 1
GROUP BY full_file_name, control_id, help_modes)
ORDER BY 2,3,4;
CREATE OR REPLACE VIEW tmp_doubles_master_keys as
SELECT MIN(WEB_HELPSYSTEM_key) WEB_HELPSYSTEM_key
FROM tmp_doubles
GROUP BY full_file_name, control_id, help_modes;
DELETE FROM web_helpsystem
WHERE web_helpsystem_key IN (SELECT web_helpsystem_key FROM tmp_doubles)
AND web_helpsystem_key NOT IN (SELECT web_helpsystem_key FROM tmp_doubles_master_keys);
DROP VIEW tmp_doubles;
DROP VIEW tmp_doubles_master_keys;
ALTER TABLE web_helpsystem
ADD CONSTRAINT web_u_web_helpsystem UNIQUE(full_file_name, control_id, help_modes);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1016
DELETE FROM fac_groeprechten
WHERE fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code='WEB_RESFO2');
DELETE FROM fac_functie WHERE fac_functie_code='WEB_RESFO2';
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#286
ALTER TABLE cnt_contract MODIFY cnt_contract_document VARCHAR2(2048);
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#286
DEF_FAC_MESSAGE ('PRS_FIATTEUR_VOOR', 'is fiatteur voor', '');
DEF_FAC_MESSAGE ('PRS_OPENST_BESTELLING', 'heeft openstaande bestelling', '');
DEF_FAC_MESSAGE ('PRS_PERSOONLIJK_OBJECT', 'heeft persoonlijke bezitting', '');
DEF_FAC_MESSAGE ('PRS_OPENST_OPDRACHT', 'is uitvoerder voor opdracht', '');
DEF_FAC_MESSAGE ('PRS_OPENST_MELDING', 'heeft openstaande melding/aanvraag', '');
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#293
ALTER TABLE prs_bedrijf ADD
prs_bedrijf_huurder
NUMBER(1)
CONSTRAINT prs_c_prs_bedrijf_huurder CHECK(prs_bedrijf_huurder IS NULL
OR prs_bedrijf_huurder = 1 );
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1066
CREATE_TABLE(bes_impcatalogus,BES_NORMAAL_PRIVILEGE)
(
bes_impcatalogus_id
VARCHAR2(32),
ins_discipline_key
NUMBER(10)
NOT NULL
CONSTRAINT bes_r_ins_disclipine_key1 REFERENCES ins_tab_discipline(ins_discipline_key),
prs_bedrijf_key
NUMBER(10)
NOT NULL
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
bes_impcatalogus_datum
DATE,
ins_srtdeel_nr
VARCHAR2(32),
ins_srtgroep_omschrijving
VARCHAR2(60),
ins_srtdeel_omschrijving
VARCHAR2(60),
ins_srtdeel_prijs
NUMBER(8,2),
ins_srtdeel_eenheid
VARCHAR2(30),
ins_srtdeel_image
VARCHAR2(255),
ins_srtdeel_veelvoud
NUMBER(6),
ins_srtdeel_btw
NUMBER(3),
ins_srtdeel_vervaldatum
DATE
);
-- TRIGGER bes_t_bes_impcatalogus_b_iu will be added later by the generic update of view, triggers and procedures
create index bes_i_bes_impcatalogus1 on bes_impcatalogus(INS_DISCIPLINE_KEY);
create index bes_i_bes_impcatalogus2 on bes_impcatalogus(bes_impcatalogus_ID);
create index bes_i_bes_impcatalogus3 on bes_impcatalogus(INS_SRTDEEL_NR);
/* Used for reporting system procedure errorlogging (for conversions, imports etc)*/
CREATE_TABLE(fac_errorlog,FAC_BASIS_PRIVILEGE)
(
recno NUMBER (10),
rec_table VARCHAR2 (32),
descript VARCHAR2 (1024)
);
-- PROCEDURE bes_p_update_catalogus will be added later by the generic update of view, triggers and procedures
-- VIEW bes_v_catalogus_prijsverschil will be added later by the generic update of view, triggers and procedures
-- VIEW bes_v_catalogus_verschilovz will be added later by the generic update of view, triggers and procedures
insert into fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info,fac_functie_key)
SELECT 'BES: Prijswijzigingen','bes_v_catalogus_prijsverschil','Prijsverschillen tussen de geselecteerde en de geinstalleerde catalogus.'
, fac_functie_key FROM fac_functie WHERE fac_functie_code='WEB_BESBAC';
insert into fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info,fac_functie_key)
SELECT 'BES: Samenvatting Cataloguswijzigingen','bes_v_catalogus_verschilovz','Samenvatting van wijzigingen tov huidige catalogus.'
, fac_functie_key FROM fac_functie WHERE fac_functie_code='WEB_BESBAC';
INSERT INTO bes_impcatalogus
(
ins_discipline_key
, prs_bedrijf_key ,
bes_impcatalogus_datum
, bes_impcatalogus_id
, ins_srtdeel_nr
, ins_srtgroep_omschrijving
, ins_srtdeel_omschrijving
, ins_srtdeel_prijs
, ins_srtdeel_eenheid
, ins_srtdeel_image
, ins_srtdeel_veelvoud
, ins_srtdeel_btw
, ins_srtdeel_vervaldatum )
SELECT
ins_discipline_key
, prs_bedrijf_key ,
fip_catalog_datum
, fip_catalog_id
, ins_srtdeel_nr
, ins_srtgroep_omschrijving
, ins_srtdeel_omschrijving
, ins_srtdeel_prijs
, ins_srtdeel_eenheid
, ins_srtdeel_image
, ins_srtdeel_veelvoud
, ins_srtdeel_btw
, ins_srtdeel_vervaldatum FROM FIP_CATALOG;
DROP TABLE fip_catalog;
DROP PROCEDURE Fip_Update_Catalog;
DROP VIEW CONN_FIP_CAT_IDS_DISC;
DROP VIEW CONN_CAT_DIFF_PRICE;
DROP VIEW CONN_CAT_DIFF_SUMM;
DELETE FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name) IN ('CONN_CAT_DIFF_PRICE','CONN_CAT_DIFF_SUMM');
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1004
DEF_FAC_FUNCTIE('WEB_USER01', 'Overig 01', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 01');
DEF_FAC_FUNCTIE('WEB_USER02', 'Overig 02', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 02');
DEF_FAC_FUNCTIE('WEB_USER03', 'Overig 03', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 03');
DEF_FAC_FUNCTIE('WEB_USER04', 'Overig 04', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 04');
DEF_FAC_FUNCTIE('WEB_USER05', 'Overig 05', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 05');
DEF_FAC_FUNCTIE('WEB_USER06', 'Overig 06', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 06');
DEF_FAC_FUNCTIE('WEB_USER07', 'Overig 07', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 07');
DEF_FAC_FUNCTIE('WEB_USER08', 'Overig 08', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 08');
DEF_FAC_FUNCTIE('WEB_USER09', 'Overig 09', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 09');
DEF_FAC_FUNCTIE('WEB_USER10', 'Overig 10', 'WEB', 15, 1, 'Zelfdefinieerbare autorisatiefunctie 10');
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#128
ALTER TABLE cnt_contract_onrgoed ADD
cnt_contract_onrgoed_key_org
NUMBER(10)
CONSTRAINT cnt_r_cnt_contract_onrgoed_key REFERENCES cnt_contract_onrgoed(cnt_contract_onrgoed_key);
DROP VIEW cnt_v_cnt_mutatie_header;
DROP VIEW cnt_v_cnt_mutatie_cnt_item;
DROP VIEW cnt_v_cnt_contract_item;
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE VIEW view_name
// Recreation all views
#include "..\..\sql\fac\fac_vie.src"
#include "..\..\sql\alg\alg_vie.src"
#include "..\..\sql\ins\ins_vie.src"
#include "..\..\sql\prs\prs_vie1.src"
#include "..\..\sql\prs\prs_pac.src"
#include "..\..\sql\prs\prs_vie2.src"
#include "..\..\sql\mld\mld_vie.src"
#include "..\..\sql\cad\cad_vie1.src"
#include "..\..\sql\res\res_vie.src"
#include "..\..\sql\bez\bez_vie.src"
#include "..\..\sql\web\web_vie.src"
#include "..\..\sql\cnt\cnt_vie.src"
#include "..\..\sql\bes\bes_vie.src"
#include "..\..\sql\pra\pra_vie.src"
COMMIT;
// Recreation all packages
#include "..\..\sql\cnt\cnt_pac.src"
#include "..\..\sql\mld\mld_pac.src"
#include "..\..\sql\fac\fac_pac.src"
#include "..\..\sql\ins\ins_pac.src"
#include "..\..\sql\cad\cad_pac.src"
#include "..\..\sql\res\res_pac.src"
#include "..\..\sql\bez\bez_pac.src"
#include "..\..\sql\web\web_pac.src"
#include "..\..\sql\bes\bes_pac.src"
#include "..\..\sql\pra\pra_pac.src"
COMMIT;
// Views that uses packages
#include "..\..\sql\cad\cad_vie2.src"
#include "..\..\sql\mld\mld_vie2.src"
// Recreation all triggers
#include "..\..\sql\fac\fac_tri.src"
#include "..\..\sql\alg\alg_tri.src"
#include "..\..\sql\ins\ins_tri.src"
#include "..\..\sql\prs\prs_tri.src"
#include "..\..\sql\cnt\cnt_tri.src"
#include "..\..\sql\mld\mld_tri.src"
#include "..\..\sql\cad\cad_tri.src"
#include "..\..\sql\res\res_tri.src"
#include "..\..\sql\bez\bez_tri.src"
#include "..\..\sql\web\web_tri.src"
#include "..\..\sql\bes\bes_tri.src"
#include "..\..\sql\pra\pra_tri.src"
COMMIT;
#ifdef MS_SQL
[skip]
-- EXTRA MSSQL
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'make_views'
and routine_schema like user)
drop procedure make_views
go
create procedure make_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
and not exists(select 1
from sysobjects o3
where uid = user_id(p.fac_package_name)
and o3.name=o2.name)
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'create view '+@pk+'.'+@vw
+ ' as select * from '+user+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
IF EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.routines
WHERE routine_NAME LIKE 'drop_views'
and routine_schema like user)
drop procedure drop_views
go
create procedure drop_views as
begin
DECLARE query CURSOR FOR
select distinct p.fac_package_name, o2.name
from sysobjects o1, fac_package p, sysobjects o2, sysdepends d
where
(o1.type = 'FN' or o1.type = 'P')
and o1.uid = user_id(p.fac_package_name)
and d.id = o1.id
and d.depid = o2.id
and (o2.type = 'U' or o2.type = 'V')
order by 1
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw;
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
end
go
create procedure drop_old_views as
begin
DECLARE query CURSOR FOR
select p.fac_package_name,o.table_name
from fac_package p,information_schema.tables o
where o.table_schema=user
and exists(select 1
from information_schema.tables o2
where o2.table_schema like p.fac_package_name
and o2.table_name=o.table_name);
declare @pk varchar(500);
declare @vw varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @pk,@vw;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
set @sql = 'drop view '+@pk+'.'+@vw
exec(@sql);
FETCH NEXT FROM query INTO @pk,@vw;
END;
CLOSE query;
DEALLOCATE query;
END
go
EXEC drop_old_views
go
DROP PROCEDURE drop_old_views
GO
UPDATE FAC_GEBRUIKER SET FAC_GEBRUIKER_USERNAME = 'FCLT_EN' WHERE FAC_GEBRUIKER_USERNAME = 'RWON';
GO
[/skip]
#endif
[skip]
#ifdef MS_SQL
EXEC drop_views
GO
EXEC make_views
GO
#endif
[/skip]
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.47.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.47.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,432 +0,0 @@
--
-- Update script van Facilitor versie 4.47 naar 4.48
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.47 naar 4.48
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.47 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x447to448.LST
#endif
UPDATE_VERSION('04.48.0');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
/////////////////////////// approved by the Facilitor release manager //////////////////
-- Noot: in sommige versies bestond deze view, die niet meer wordt gebruikt. Daarom wordt
-- deze hier opgeruimd. Als deze niet bestond, geeft dit een foutmelding ORA - 00942. Dit is NIET erg.
DROP VIEW ALG_V_ONROERENDGOED_BOOM;
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1083
ALTER TABLE bez_afspraak ADD
alg_locatie_key
NUMBER(10)
CONSTRAINT bez_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE;
-- who has this module? We need to set this /* AKZA only */
UPDATE bez_afspraak SET alg_locatie_key=2 WHERE alg_locatie_key IS NULL;
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#295
ALTER TABLE web_user_messages MODIFY
web_user_mess_dsc
VARCHAR2(512);
ALTER TABLE web_user_mess_text MODIFY
web_user_mess_text_dsc VARCHAR2(512);
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#278
ALTER TABLE ins_srtdeel
DROP CONSTRAINT ins_u_ins_srtdeel_upper;
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#306
-- REM Bij deze opdrachten is zogenaamd meer geleverd dan besteld
select * from bes_bestelopdr_item
where bes_bestelopdr_item_aantalontv>bes_bestelopdr_item_aantal;
-- Fix dit
update bes_bestelopdr_item
set bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
where bes_bestelopdr_item_aantalontv>bes_bestelopdr_item_aantal;
-- Als ze nog niet als TV stonden, zijn ze dat nu wel; is dit nodig of alleen maar formeel?
update bes_bestelopdr_item
set bes_bestelopdr_item_status=6
where bes_bestelopdr_item_aantalontv=bes_bestelopdr_item_aantal
and bes_bestelopdr_item_status is null;
-- En voorkom definitief dat dit weer kan gebeuren
alter table bes_bestelopdr_item
add constraint bes_c_bes_bestelopdr_item check (bes_bestelopdr_item_aantalontv<=bes_bestelopdr_item_aantal);
-- Idem voor de bestelaanvragen; dit zijn dezelfde
select * from bes_bestelling_item
where bes_bestelling_item_aantalontv>bes_bestelling_item_aantal;
update bes_bestelling_item
set bes_bestelling_item_aantalontv=bes_bestelling_item_aantal
where bes_bestelling_item_aantalontv>bes_bestelling_item_aantal;
alter table bes_bestelling_item
add constraint bes_c_bes_bestelling_item check (bes_bestelling_item_aantalontv<=bes_bestelling_item_aantal);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#414
ALTER TABLE FAC_USRDATA DROP CONSTRAINT FAC_R_FAC_USRTAB_KEY;
ALTER TABLE FAC_USRDATA ADD
CONSTRAINT FAC_R_FAC_USRTAB_KEY FOREIGN KEY (FAC_USRTAB_KEY)
REFERENCES FAC_USRTAB (FAC_USRTAB_KEY) ON DELETE CASCADE;
///////////////////////////////////////////////////////////////////////////////////////////////// AKZA#473
/* NOTE: this is a redefinition of this macro,to support updating with the same sources; it assumes all functions are present already */
#define DEF_FAC_FUNCTIE2(c, o, m, l, d, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m, fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_info=i WHERE fac_functie_code=c
DEF_FAC_FUNCTIE2('WEB_MLDBAC', 'Info:ServiceDesk', 'MLD', 13, 1,'Om historische gegevens m.b.t. meldingen en opdrachten te kunnen raadplegen');
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#266
/* Remove sibling afdeling records */
--ALTER trigger CONN.PRS_T_PRS_AFDELING_B_IU disable;
UPDATE prs_afdeling
SET prs_afdeling_verwijder=sysdate
WHERE prs_afdeling_parentkey IN
(SELECT prs_afdeling_key FROM prs_afdeling WHERE prs_afdeling_verwijder is not null)
and prs_afdeling_verwijder is null;
UPDATE prs_afdeling
SET prs_afdeling_verwijder=sysdate
WHERE prs_afdeling_parentkey IN
(SELECT prs_afdeling_key FROM prs_afdeling WHERE prs_afdeling_verwijder is not null)
and prs_afdeling_verwijder is null;
UPDATE prs_afdeling
SET prs_afdeling_verwijder=sysdate
WHERE prs_afdeling_parentkey IN
(SELECT prs_afdeling_key FROM prs_afdeling WHERE prs_afdeling_verwijder is not null)
and prs_afdeling_verwijder is null;
UPDATE prs_afdeling
SET prs_afdeling_verwijder=sysdate
WHERE prs_afdeling_parentkey IN
(SELECT prs_afdeling_key FROM prs_afdeling WHERE prs_afdeling_verwijder is not null)
and prs_afdeling_verwijder is null;
UPDATE prs_afdeling
SET prs_afdeling_verwijder=sysdate
WHERE prs_afdeling_parentkey IN
(SELECT prs_afdeling_key FROM prs_afdeling WHERE prs_afdeling_verwijder is not null)
and prs_afdeling_verwijder is null;
--ALTER trigger CONN.PRS_T_PRS_AFDELING_B_IU enable;
/////////////////////////////////////////////////////////////////////////////////////////////////CONN#192
/* Workflow tables */
CREATE_TABLE(mld_workflowstep, MLD_NORMAAL_PRIVILEGE)
( mld_workflowstep_key
NUMBER(10)
CONSTRAINT mld_k_mld_workflowstep_key PRIMARY KEY,
mld_workflowstep_start_key
NUMBER(10)
CONSTRAINT mld_r_mld_workflowstep_key1 REFERENCES mld_workflowstep(mld_workflowstep_key),
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key2)
CONSTRAINT mld_r_mld_stdmelding_key2 REFERENCES mld_stdmelding,
mld_workflowstep_omschrijving
VARCHAR2(60)
);
CREATE_TABLE(mld_workflowrule, MLD_NORMAAL_PRIVILEGE)
( mld_workflowrule_key
NUMBER(10)
CONSTRAINT mld_k_mld_workflowrule_key PRIMARY KEY,
mld_workflowstep_key
NUMBER(10)
NOT_NULL(mld_workflowstep_key, mld_c_mld_workflowstep_key1)
CONSTRAINT mld_r_mld_workflowstep_key2 REFERENCES mld_workflowstep ON DELETE CASCADE,
mld_workflowrule_omschrijving
VARCHAR2(60),
mld_workflowrule_result
NUMBER(1)
CONSTRAINT mld_c_mld_workflowrule_result CHECK(mld_workflowrule_result IN (0,1)),
mld_workflowstep_next_key
NUMBER(10)
NOT_NULL(mld_workflowstep_next_key, mld_c_mld_workflowstep_key2)
CONSTRAINT mld_r_mld_workflowstep_key3 REFERENCES mld_workflowstep(mld_workflowstep_key)
);
COMMENT ON COLUMN mld_workflowrule.mld_workflowrule_result IS '0 is failure/rejection, 1 is success';
ALTER TABLE mld_melding ADD
mld_workflowstep_key
NUMBER(10)
CONSTRAINT mld_r_mld_workflowstep_key4 REFERENCES mld_workflowstep(mld_workflowstep_key);
COMMENT ON COLUMN mld_melding.mld_workflowstep_key IS 'references the workflow step that this melding corresponds to';
ALTER TABLE mld_melding ADD
mld_melding_start_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_key4 REFERENCES mld_melding(mld_melding_key);
COMMENT ON COLUMN mld_melding.mld_melding_start_key IS 'references the initiating mld_melding if this is a workflow step';
CREATE SEQUENCE mld_s_mld_workflowstep_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE mld_s_mld_workflowrule_key MINVALUE 1 NOCACHE;
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#undef CREATE_VIEW
#ifdef MS_SQL
#define CREATE_VIEW(view_name, level) \
IF EXISTS (SELECT TABLE_NAME \
FROM INFORMATION_SCHEMA.VIEWS \
WHERE TABLE_NAME = #@view_name~ \
AND TABLE_SCHEMA = 'dbo')~ \
DROP VIEW dbo.view_name;~ \
GO~CREATE VIEW dbo.view_name
#else
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE FORCE VIEW view_name
#endif
/* TABLES
For SQLS we need to include the tables to get the _TYPE definitions for the packages
The (1=0) construcion prevents CREATE TABLES from executing
What remains are the #define's
*/
#ifdef MS_SQL
//#undef _GO
//#define _GO /* niets */
//#undef CREATE_TABLE
//#define CREATE_TABLE(table_name, level) ;~CREATE TABLE table_name
{ -- dit stuk moet je verwijderen (alles tussen de haakjes)
#include "fac_tab.src"
#include "alg_tab.src"
#include "ins_tab.src"
#include "prs_tab.src"
#include "mld_tab.src"
#include "mrk_tab.src"
#ifndef MS_SQL
#include "cad_tab.src"
#endif
#include "res_tab.src"
#include "bez_tab.src"
#include "web_tab.src"
#include "cnt_tab.src"
#include "bes_tab.src"
#include "pra_tab.src"
#include "sch_tab.src"
}
#undef _GO
#define _GO ~GO
#endif
// Recreation all views
#include "fac_vie.src"
#include "alg_vie.src"
#include "ins_vie.src"
#include "prs_vie1.src"
#include "prs_pac.src"
#include "prs_vie2.src"
#include "mld_vie.src"
#ifndef MS_SQL
#include "cad_vie1.src"
#endif
#include "res_vie.src"
#include "bez_vie.src"
#include "web_vie.src"
#include "cnt_vie.src"
#include "bes_vie.src"
#include "pra_vie.src"
#include "mrk_vie.src"
#include "sch_vie.src"
COMMIT;
// Recreation all packages
#ifdef MS_SQL
[skip]
create procedure drop_procfuns as
begin
DECLARE query CURSOR FOR
select distinct u.name+'.'+o.name, o.xtype
from sysobjects o, sysusers u
where o.uid = u.uid and (o.type = 'FN' or o.type = 'P')
and upper(o.name) not in ('TRUNC_DATE', 'INITCAP','LPAD','RPAD','CHAR_TO_DATE','DATE_TO_CHAR','NUMBER_TO_CHAR','CHAR_TO_NUMBER')
declare @nm varchar(500);
declare @tp varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @nm,@tp;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
if (@tp='FN') set @sql = 'function' else set @sql = 'procedure'
set @sql = 'drop ' + @sql + ' ' + @nm;
exec(@sql);
FETCH NEXT FROM query INTO @nm,@tp;
END;
CLOSE query;
DEALLOCATE query;
end
go
-- Noot: er komen errors op web.CHAR_TO_DATE en DATE_TO_CHAR. Negeren
exec drop_procfuns
go
--drop procedure drop_procfuns
go
[/skip]
#endif
// prs_pac is al een keer eerder geweest. Vanwege drop_procfuns nog een keer
#include "prs_pac.src"
#include "cnt_pac.src"
#include "mld_pac.src"
#include "fac_pac.src"
#include "ins_pac.src"
#ifndef MS_SQL
#include "cad_pac.src"
#endif
#include "res_pac.src"
#include "bez_pac.src"
#include "web_pac.src"
#include "bes_pac.src"
#include "pra_pac.src"
#include "mrk_pac.src"
#include "sch_pac.src"
COMMIT;
// Views that uses packages
#ifndef MS_SQL
#include "cad_vie2.src"
#endif
#include "mld_vie2.src"
// Recreation all triggers
#include "fac_tri.src"
#include "alg_tri.src"
#include "ins_tri.src"
#include "prs_tri.src"
#include "cnt_tri.src"
#include "mld_tri.src"
#ifndef MS_SQL
#include "cad_tri.src"
#endif
#include "res_tri.src"
#include "bez_tri.src"
#include "web_tri.src"
#include "bes_tri.src"
#include "pra_tri.src"
#include "mrk_tri.src"
#include "sch_tri.src"
COMMIT;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.48.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.48.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,372 +0,0 @@
--
-- Update script van Facilitor versie 4.48 naar 4.49
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.48 naar 4.49
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.48 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x448to449.LST
#endif
UPDATE_VERSION('04.49.0');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
DROP TRIGGER fac_t_groeprechten_B_IU; // has been replaced FSN#1144
ALTER TABLE prs_werkplek DROP CONSTRAINT prs_c_prs_werkplek_module;
ALTER TABLE prs_werkplek DROP CONSTRAINT prs_u_prs_werkplek_volgnr;
ALTER TABLE prs_werkplek ADD CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr, prs_werkplek_verwijder);
ALTER TABLE prs_perslid DROP CONSTRAINT prs_c_prs_perslid_module;
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
/////////////////////////// approved by the Facilitor release manager //////////////////
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#15
UPDATE fac_functie SET fac_functie_min_level=15 WHERE fac_functie_code='WEB_BEZUSE';
DEF_FAC_FUNCTIE('WEB_BEZFOF', 'Frontoffice:Bezoekers', 'BEZ', 15, 0,'Om verwachte bezoekers te kunnen registreren');
ALTER TABLE res_rsv_deel ADD bez_bezoekers_key NUMBER(10) REFERENCES bez_bezoekers(bez_bezoekers_key) ON DELETE CASCADE;
ALTER TABLE res_rsv_deel DROP CONSTRAINT res_c_res_rsvd_reservering_key;
ALTER TABLE res_rsv_deel ADD CONSTRAINT res_c_res_rsvd_reservering_key CHECK (res_reservering_key IS NOT NULL OR bez_bezoekers_key IS NOT NULL);
/* this was in the trigger, now in a check and removed from the trigger */
ALTER TABLE res_rsv_deel ADD CONSTRAINT res_c_res_deel_ruimte
CHECK ((alg_ruimte_key IS NULL AND res_rsv_ruimte_key IS NOT NULL) OR
(alg_ruimte_key IS NOT NULL AND res_rsv_ruimte_key IS NULL) OR
bez_bezoekers_key IS NOT NULL);
/* idem. this change is done only for similarity; no functional change here */
ALTER TABLE res_rsv_artikel ADD CONSTRAINT res_c_res_artikel_ruimte
CHECK ((alg_ruimte_key IS NULL AND res_rsv_ruimte_key IS NOT NULL) OR
(alg_ruimte_key IS NOT NULL AND res_rsv_ruimte_key IS NULL));
ALTER TABLE bez_afspraak ADD res_rsv_ruimte_key NUMBER(10) REFERENCES res_rsv_ruimte(res_rsv_ruimte_key);
ALTER TABLE bez_afspraak ADD alg_onrgoed_keys NUMBER(10);
ALTER TABLE bez_afspraak ADD bez_afspraak_host_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key);
ALTER TABLE bez_afspraak ADD bez_afspraak_contact_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key);
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (12, 'visitors/register_input.asp?afspr_key=');
// als afpraak weg dan ook message weg trigger/code?
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#6 ETC
// Since 4.49 we have standard Import tools
CREATE TABLE imp_log
(
imp_log_applicatie VARCHAR2(50)
, imp_log_run VARCHAR2(30)
, imp_log_datum DATE
, imp_log_status VARCHAR2(1)
, imp_log_omschrijving VARCHAR2(1000)
, imp_log_hint VARCHAR2(1000)
);
-- PROCEDURES in fac are defined in generic part
ALTER TABLE fac_gebruikersgroep
DROP CONSTRAINT fac_r_prs_perslid_key;
ALTER TABLE fac_gebruikersgroep ADD (
CONSTRAINT fac_r_prs_perslid_key FOREIGN KEY (prs_perslid_key)
REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE);
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#14
ALTER TABLE ins_tab_discipline DROP CONSTRAINT ins_u_ins_discipline_omschr;
CREATE UNIQUE INDEX ins_u_ins_discipline_omschr ON ins_tab_discipline
(ins_discipline_omschrijving, ins_srtdiscipline_key, ins_discipline_verwijder, ins_discipline_module);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1142
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_niveau1;
ALTER TABLE alg_kenmerk ADD (
CONSTRAINT alg_c_alg_kenmerk_niveau1 CHECK (alg_kenmerk_niveau IS NOT NULL
AND alg_kenmerk_niveau IN ('R','G','T','L','D')));
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1145
-- Note: this view is (re)defined later automatically, but it MUST exist in order to do the UPDATE below.
CREATE_VIEW (prs_v_fiatteur, PRS_NORMAAL_PRIVILEGE)
(prs_perslid_key,
prs_perslid_naam_full
)
AS
SELECT prs_perslid_key,
prs_perslid_naam
|| decode(p.prs_perslid_voorletters, NULL, '', ', ' || p.prs_perslid_voorletters)
|| decode(p.prs_perslid_tussenvoegsel,NULL, '', ' ' || p.prs_perslid_tussenvoegsel)
|| decode(p.prs_perslid_voornaam, NULL, '', ' (' || p.prs_perslid_voornaam || ')'
) prs_perslid_naam_full
FROM prs_v_aanwezigperslid p, prs_kenmerklink pk, prs_kenmerk k
WHERE pk.prs_kenmerk_key = k.prs_kenmerk_key
AND pk.prs_kenmerklink_verwijder IS NULL
AND p.prs_perslid_key = pk.prs_link_key
AND k.prs_kenmerk_verwijder IS NULL
AND k.prs_kenmerk_upper = 'BESTELLIMIET';
UPDATE prs_refkenmerk
SET prs_refkenmerk_objectnaam = 'PRS_V_FIATTEUR'
WHERE prs_refkenmerk_upper = 'FIATTEUR';
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
/////////////////////////////////////////////////////////////////////////////////////////////////
#undef CREATE_VIEW
#ifdef MS_SQL
#define CREATE_VIEW(view_name, level) \
IF EXISTS (SELECT TABLE_NAME \
FROM INFORMATION_SCHEMA.VIEWS \
WHERE TABLE_NAME = #@view_name~ \
AND TABLE_SCHEMA = 'dbo')~ \
DROP VIEW dbo.view_name;~ \
GO~CREATE VIEW dbo.view_name
#else
#define CREATE_VIEW(view_name, level) \
CREATE OR REPLACE FORCE VIEW view_name
#endif
/* TABLES
For SQLS we need to include the tables to get the _TYPE definitions for the packages
The (1=0) construcion prevents CREATE TABLES from executing
What remains are the #define's
*/
#ifdef MS_SQL
//#undef _GO
//#define _GO /* niets */
//#undef CREATE_TABLE
//#define CREATE_TABLE(table_name, level) ;~CREATE TABLE table_name
{ -- dit stuk moet je verwijderen (alles tussen de haakjes)
#include "fac_tab.src"
#include "alg_tab.src"
#include "ins_tab.src"
#include "prs_tab.src"
#include "mld_tab.src"
#include "mrk_tab.src"
#ifndef MS_SQL
#include "cad_tab.src"
#endif
#include "res_tab.src"
#include "bez_tab.src"
#include "web_tab.src"
#include "cnt_tab.src"
#include "bes_tab.src"
#include "pra_tab.src"
#include "sch_tab.src"
}
#undef _GO
#define _GO ~GO
#endif
// Recreation all views
#include "fac_vie.src"
#include "alg_vie.src"
#include "ins_vie.src"
#include "prs_vie1.src"
#include "prs_pac.src"
#include "prs_vie2.src"
#include "mld_vie.src"
#ifndef MS_SQL
#include "cad_vie1.src"
#endif
#include "res_vie.src"
#include "bez_vie.src"
#include "web_vie.src"
#include "cnt_vie.src"
#include "bes_vie.src"
#include "pra_vie.src"
#include "mrk_vie.src"
#include "sch_vie.src"
COMMIT;
// Recreation all packages
#ifdef MS_SQL
[skip]
create procedure drop_procfuns as
begin
DECLARE query CURSOR FOR
select distinct u.name+'.'+o.name, o.xtype
from sysobjects o, sysusers u
where o.uid = u.uid and (o.type = 'FN' or o.type = 'P')
and upper(o.name) not in ('TRUNC_DATE', 'INITCAP','LPAD','RPAD','CHAR_TO_DATE','DATE_TO_CHAR','NUMBER_TO_CHAR','CHAR_TO_NUMBER')
declare @nm varchar(500);
declare @tp varchar(500);
declare @sql varchar(500);
OPEN query;
FETCH NEXT FROM query INTO @nm,@tp;
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
if (@tp='FN') set @sql = 'function' else set @sql = 'procedure'
set @sql = 'drop ' + @sql + ' ' + @nm;
exec(@sql);
FETCH NEXT FROM query INTO @nm,@tp;
END;
CLOSE query;
DEALLOCATE query;
end
go
-- Noot: er komen errors op web.CHAR_TO_DATE en DATE_TO_CHAR. Negeren
exec drop_procfuns
go
--drop procedure drop_procfuns
go
[/skip]
#endif
// prs_pac is al een keer eerder geweest. Vanwege drop_procfuns nog een keer
#include "prs_pac.src"
#include "cnt_pac.src"
#include "mld_pac.src"
#include "fac_pac.src"
#include "ins_pac.src"
#ifndef MS_SQL
#include "cad_pac.src"
#endif
#include "res_pac.src"
#include "bez_pac.src"
#include "web_pac.src"
#include "bes_pac.src"
#include "pra_pac.src"
#include "mrk_pac.src"
#include "sch_pac.src"
COMMIT;
// Views that uses packages
#ifndef MS_SQL
#include "cad_vie2.src"
#endif
#include "mld_vie2.src"
// Recreation all triggers
#include "fac_tri.src"
#include "alg_tri.src"
#include "ins_tri.src"
#include "prs_tri.src"
#include "cnt_tri.src"
#include "mld_tri.src"
#ifndef MS_SQL
#include "cad_tri.src"
#endif
#include "res_tri.src"
#include "bez_tri.src"
#include "web_tri.src"
#include "bes_tri.src"
#include "pra_tri.src"
#include "mrk_tri.src"
#include "sch_tri.src"
COMMIT;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.49.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.49.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,11 +0,0 @@
-- Rollup of Facilitor upgrades from 4.48 to 4.50 - run this to upgrade
--
-- Note: Some of the steps of this upgrade require user attention (confirmations)
--
-- (c) 2005, Facilitor Software Nederland bv
--
@448to449
@4490to1
@4491to2
@4492to3
@449to450

View File

@@ -1,126 +0,0 @@
--
-- Update script van Facilitor versie 4.49.0 naar 4.49.1
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.49.0 naar 4.49.1
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.49.0 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4490to4491.LST
#endif
UPDATE_VERSION('04.49.1');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#104
ALTER TABLE bez_afspraak MODIFY bez_afspraak_gastheer VARCHAR2(50);
#include "bez_tri.src"
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#446
#include "cnt_vie.src"
///////////////////////////////////////////////////////////////////////////////////////////////// RWON#58
ALTER TABLE bez_bezoekers ADD bez_bezoekers_pasnr VARCHAR2(30);
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#110
#include "res_tri.src"
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1178
#include "res_vie.src"
COMMIT;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.49.1'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.49.1'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,115 +0,0 @@
--
-- Update script van Facilitor versie 4.49.1 naar 4.49.2
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.49.1 naar 4.49.2
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.49.1 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4491to2.LST
#endif
UPDATE_VERSION('04.49.2');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#127
#include "res_pac.src"
/////////////////////////////////////////////////////////////////////////////////////////////////
COMMIT;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.49.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.49.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,526 +0,0 @@
--
-- Update script van Facilitor versie 4.49.2 naar 4.49.3
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
/* !!BELANGRIJK!!
* Als er bij de upgrade een NIEUWE tabel of view wordt gecreeerd, moeten ook
* de daarvoor benodigde GRANTS en SYNONYMS worden geregeld!!!
* Dit doen we in de $..after.sql, die ook hier wordt gegenereerd.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.49.2 naar 4.49.3
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.49.2 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4492to3.LST
#endif
UPDATE_VERSION('04.49.3');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#157
CREATE_VIEW (prs_v_afdeling_niveau, PRS_NORMAAL_PRIVILEGE)
(prs_afdeling_key,
prs_afdeling_parentkey,
prs_afdeling_naam,
prs_afdeling_naam1,
prs_afdeling_naam2,
prs_afdeling_naam3,
prs_afdeling_naam4,
prs_afdeling_naam5,
prs_afdeling_naam6,
prs_afdeling_omschrijving,
prs_afdeling_kostenplaats,
prs_afdeling_aanmaak,
prs_afdeling_verwijder,
prs_bedrijf_key,
niveau) AS
SELECT DISTINCT a.prs_afdeling_key,
a.prs_afdeling_parentkey,
prs_afdeling_naam,
prs_afdeling_naam1,
prs_afdeling_naam2,
prs_afdeling_naam3,
prs_afdeling_naam4,
prs_afdeling_naam5,
prs_afdeling_naam6,
prs_afdeling_omschrijving,
prs_afdeling_kostenplaats,
prs_afdeling_aanmaak,
prs_afdeling_verwijder,
prs_bedrijf_key,
a.niveau
FROM prs_v_afdeling_familie f, prs_v_afdeling a
WHERE f.prs_afdeling_elder_key = a.prs_afdeling_key
AND a.prs_afdeling_verwijder IS NULL;
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#163
CREATE_TRIGGER(fac_t_fac_groep_B_IU)
BEFORE INSERT OR UPDATE ON fac_groep
FOR EACH ROW
BEGIN
IF :new.fac_groep_verwijder IS NOT NULL AND :old.fac_groep_verwijder IS NULL
THEN
-- Cascade
DELETE FROM fac_groeprechten
WHERE fac_groep_key = :new.fac_groep_key;
DELETE FROM fac_gebruikersgroep
WHERE fac_groep_key = :new.fac_groep_key;
END IF;
UPDATE_PRIMARY_KEY(fac_groep_key, fac_s_fac_groep_key);
:new.fac_groep_upper := UPPER(:new.fac_groep_omschrijving);
:new.fac_groep_aanmaak := SYSDATE;
#ifdef MS_SQL
lerror:
#endif
END;
/
CREATE_TRIGGER(fac_t_fac_groeprechten_B_IU)
BEFORE INSERT OR UPDATE ON fac_groeprechten
FOR EACH ROW
DECLARE
Dummy BOOLEAN;
keepit NUMBER;
funclevel NUMBER;
BEGIN
-- We need a key, even if we decide to remove this record later
UPDATE_PRIMARY_KEY(fac_groeprechten_key, fac_s_fac_groeprechten_key);
-- Determine whether we really need to store these values
/* see web_ini for meaning of this bitwise value */
SELECT fac_functie_min_level
INTO funclevel
FROM fac_functie
WHERE fac_functie_key=:new.fac_functie_key;
keepit:=0;
--Keep if any used property has not-a-9 value; unused properties are discarded
IF funclevel=0 AND -- all values will be equal by definition here
:new.fac_gebruiker_prs_level_read <> 9
AND :new.fac_gebruiker_prs_level_write <> 9
AND :new.fac_gebruiker_alg_level_read <> 9
AND :new.fac_gebruiker_alg_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=1 AND -- read
:new.fac_gebruiker_prs_level_read <> 9
AND :new.fac_gebruiker_alg_level_read <> 9
THEN keepit:=1;
ELSIF funclevel=2 AND -- write
:new.fac_gebruiker_prs_level_write <> 9
AND :new.fac_gebruiker_alg_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=3 AND -- read or write
((:new.fac_gebruiker_prs_level_read <> 9
AND :new.fac_gebruiker_alg_level_read <> 9) OR
(:new.fac_gebruiker_prs_level_write <> 9
AND :new.fac_gebruiker_alg_level_write <> 9))
THEN keepit:=1;
ELSIF funclevel=4 AND -- unused
:new.fac_gebruiker_prs_level_read <> 9
AND :new.fac_gebruiker_prs_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=5 AND -- prs read
:new.fac_gebruiker_prs_level_read <> 9
THEN keepit:=1;
ELSIF funclevel=6 AND -- prs write, probably unused
:new.fac_gebruiker_prs_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=7 AND -- prs read n write
(:new.fac_gebruiker_prs_level_read <> 9 OR
:new.fac_gebruiker_prs_level_write <> 9)
THEN keepit:=1;
ELSIF funclevel=8 AND -- unused
:new.fac_gebruiker_alg_level_read <> 9
AND :new.fac_gebruiker_alg_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=9 AND -- alg read
:new.fac_gebruiker_alg_level_read <> 9
THEN keepit:=1;
ELSIF funclevel=10 AND -- alg write, probably unused
:new.fac_gebruiker_alg_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=11 AND -- alg read n write
(:new.fac_gebruiker_alg_level_read <> 9 OR
:new.fac_gebruiker_alg_level_write <> 9)
THEN keepit:=1;
ELSIF funclevel=12 AND -- unused
:new.fac_gebruiker_prs_level_read <> 9
AND :new.fac_gebruiker_prs_level_write <> 9
AND :new.fac_gebruiker_alg_level_read <> 9
AND :new.fac_gebruiker_alg_level_write <> 9
THEN keepit:=1;
ELSIF funclevel=13 AND -- prs/alg read
(:new.fac_gebruiker_prs_level_read <> 9
OR :new.fac_gebruiker_alg_level_read <> 9)
THEN keepit:=1;
ELSIF funclevel=14 AND -- prs/alg write, probably unused
(:new.fac_gebruiker_prs_level_write <> 9
OR :new.fac_gebruiker_alg_level_write <> 9)
THEN keepit:=1;
ELSIF funclevel=15 AND -- prs/alg read n write
(:new.fac_gebruiker_prs_level_read <> 9
OR :new.fac_gebruiker_prs_level_write <> 9
OR :new.fac_gebruiker_alg_level_read <> 9
OR :new.fac_gebruiker_alg_level_write <> 9)
THEN keepit:=1;
END IF;
IF keepit=0 THEN
#ifdef MS_SQL
-- SQLS staat dit gewoon toe.
DELETE FROM FAC_GROEPRECHTEN WHERE FAC_GROEPRECHTEN_KEY = :new.fac_groeprechten_key;
#else
Dummy := Fac_P_Fac_Save_Restore.SavePrimaryKey('FAC_GROEPRECHTEN',:new.fac_groeprechten_key);
#endif
END IF;
END;
/
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#156
CREATE_VIEW(res_v_deelscope, RES_NORMAAL_PRIVILEGE)
(res_deel_key,
res_deel_alg_level,
alg_regio_key,
alg_district_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key
)
AS
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l, alg_district d
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND l.alg_district_key = d.alg_district_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = -1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, alg_regio_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l, alg_district d
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND l.alg_district_key = d.alg_district_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 0
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), alg_district_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), ins_alg_locatie_key, to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 2
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), alg_gebouw_key, to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r, alg_verdieping v
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 3
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), alg_verdieping_key, to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 4
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), ins_alg_ruimte_key
FROM res_deel rd, ins_deel ID, alg_ruimte r
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 5;
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#178/CONN#410
ALTER TABLE prs_perslidwerkplek
DROP CONSTRAINT prs_r_prs_perslid_key;
ALTER TABLE prs_perslidwerkplek ADD (
CONSTRAINT prs_r_prs_perslid_key FOREIGN KEY (prs_perslid_key)
REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE);
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#178
CREATE_VIEW(PRS_V_VERPLICHTING, PRS_NORMAAL_PRIVILEGE)
(PRS_PERSLID_KEY, FAC_MESSAGE_CODE, ITEM, ITEM_KEY) AS
-- uitgegeven opdrachten waar persoon de uitvoerende is.
SELECT o.mld_uitvoerende_keys,
'PRS_OPENST_OPDRACHT',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_melding m
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key
AND o.mld_melding_key = m.mld_melding_key) || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
o.mld_opdr_key
FROM mld_opdr o,
mld_statusopdr so,
prs_perslid p
WHERE o.mld_statusopdr_key = so.mld_statusopdr_key
AND so.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
AND o.mld_uitvoerende_keys = p.prs_perslid_key
UNION
SELECT m.prs_perslid_key,
'PRS_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key) || TO_CHAR (m.mld_melding_key),
m.mld_melding_key
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7)
UNION
SELECT b.prs_perslid_key,
'PRS_OPENST_BESTELLING',
TO_CHAR (bes_bestelling_key),
bes_bestelling_key
FROM bes_bestelling b
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
UNION
SELECT fac.safe_to_number (kl.prs_kenmerklink_waarde),
'PRS_FIATTEUR_VOOR',
pf.prs_perslid_naam_full,
prs_link_key
FROM prs_kenmerklink kl,
prs_v_perslid_fullnames pf
WHERE prs_link_key = pf.prs_perslid_key
AND kl.prs_kenmerklink_verwijder IS NULL
AND kl.prs_kenmerk_key = 1000
UNION
SELECT ins_alg_ruimte_key,
'PRS_OPENST_MELDING',
ins_deel_omschrijving,
ins_deel_key
FROM ins_v_aanwezigdeel d, ins_tab_discipline ID
WHERE d.ins_alg_ruimte_type = 'P'
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3
UNION
-- openstaande ruimte reserveringen
SELECT r.res_reservering_host_key,
'PRS_OPENST_RES_R',
TO_CHAR (r.res_reservering_key) || '/' || count(*),
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_BO_key IN (4, 3, 2)
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_R', r.res_reservering_key
UNION
-- openstaande voorzieningen reserveringen
SELECT r.res_reservering_host_key,
'PRS_OPENST_RES_V',
TO_CHAR (r.res_reservering_key) || '/' || count(*),
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_deel rd
WHERE r.res_reservering_key = rd.res_reservering_key
AND rd.res_status_BO_key IN (4, 3, 2)
AND rd.alg_ruimte_key IS NOT NULL
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_V', r.res_reservering_key
UNION
-- openstaande catering reserveringen
SELECT r.res_reservering_host_key,
'PRS_OPENST_RES_C',
TO_CHAR (r.res_reservering_key) || '/' || count(*),
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_artikel ra
WHERE r.res_reservering_key = ra.res_reservering_key
AND ra.res_status_BO_key IN (4, 3, 2)
AND ra.alg_ruimte_key IS NOT NULL
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_C', r.res_reservering_key
UNION
SELECT a.BEZ_AFSPRAAK_HOST_KEY, 'PRS_AFSPRAAK_H', TO_CHAR(a.BEZ_AFSPRAAK_DATUM),
a.bez_afspraak_key
FROM bez_afspraak a
WHERE a.BEZ_AFSPRAAK_DATUM > SYSDATE
UNION
SELECT a.BEZ_AFSPRAAK_CONTACT_KEY, 'PRS_AFSPRAAK_C', TO_CHAR(a.BEZ_AFSPRAAK_DATUM),
a.bez_afspraak_key
FROM bez_afspraak a
WHERE a.BEZ_AFSPRAAK_DATUM > SYSDATE
;
CREATE_VIEW(prs_v_verplichting_all, PRS_NORMAAL_PRIVILEGE)
(PRS_PERSLID_KEY, FAC_MESSAGE_CODE, ITEM, ITEM_KEY) AS
SELECT o.mld_uitvoerende_keys, 'PRS_OPENST_OPDRACHT',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_melding m
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key
AND o.mld_melding_key = m.mld_melding_key)
|| TO_CHAR (o.mld_melding_key)
|| '/'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
o.mld_opdr_key
FROM mld_opdr o, prs_perslid p
WHERE o.mld_uitvoerende_keys = p.prs_perslid_key
UNION
SELECT m.prs_perslid_key, 'PRS_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key)
|| TO_CHAR (m.mld_melding_key),
m.mld_melding_key
FROM mld_melding m
UNION
SELECT b.prs_perslid_key, 'PRS_OPENST_BESTELLING',
TO_CHAR (bes_bestelling_key), bes_bestelling_key
FROM bes_bestelling b
UNION
SELECT fac.safe_to_number (kl.prs_kenmerklink_waarde), 'PRS_FIATTEUR_VOOR',
pf.prs_perslid_naam_full, prs_link_key
FROM prs_kenmerklink kl, prs_v_perslid_fullnames pf
WHERE prs_link_key = pf.prs_perslid_key AND kl.prs_kenmerk_key = 1000
UNION
SELECT ins_alg_ruimte_key, 'PRS_OPENST_MELDING', ins_deel_omschrijving,
ins_deel_key
FROM ins_deel d, ins_tab_discipline ID
WHERE d.ins_alg_ruimte_type = 'P'
AND ID.ins_discipline_key = d.ins_discipline_key
UNION
SELECT r.res_reservering_host_key, 'PRS_OPENST_RES_R',
TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key
FROM res_reservering r, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_R',
r.res_reservering_key
UNION
SELECT r.res_reservering_host_key, 'PRS_OPENST_RES_V',
TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key
FROM res_reservering r, res_rsv_deel rd
WHERE r.res_reservering_key = rd.res_reservering_key
AND rd.alg_ruimte_key IS NOT NULL
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_V',
r.res_reservering_key
UNION
SELECT r.res_reservering_host_key, 'PRS_OPENST_RES_C',
TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key
FROM res_reservering r, res_rsv_artikel ra
WHERE r.res_reservering_key = ra.res_reservering_key
AND ra.alg_ruimte_key IS NOT NULL
GROUP BY r.res_reservering_host_key, 'PRS_OPENST_RES_C',
r.res_reservering_key
UNION
SELECT a.prs_perslid_key, 'PRS_AFSPRAAK_I', TO_CHAR(a.BEZ_AFSPRAAK_DATUM),
a.bez_afspraak_key
FROM bez_afspraak a
UNION
SELECT a.BEZ_AFSPRAAK_HOST_KEY, 'PRS_AFSPRAAK_H', TO_CHAR(a.BEZ_AFSPRAAK_DATUM),
a.bez_afspraak_key
FROM bez_afspraak a
UNION
SELECT a.BEZ_AFSPRAAK_CONTACT_KEY, 'PRS_AFSPRAAK_C', TO_CHAR(a.BEZ_AFSPRAAK_DATUM),
a.bez_afspraak_key
FROM bez_afspraak a
;
INSERT INTO fac_message VALUES ('PRS_AFSPRAAK_I','is invoerder van afspraak');
INSERT INTO fac_message VALUES ('PRS_AFSPRAAK_C','is contactpersoon voor afspraak');
INSERT INTO fac_message VALUES ('PRS_AFSPRAAK_H','is gastheer/vrouw van afspraak');
COMMIT;
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.49.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.49.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,230 +0,0 @@
--
-- Update script van Facilitor versie 4.49 naar 4.50
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#ifndef MS_SQL
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.49(.3) naar 4.50.2
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.49.3 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt.
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x449to450.LST
#endif
UPDATE_VERSION('04.50.2');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
////////////////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
//////////////////////////////////// approved by the Facilitor release manager //////////////////
CREATE INDEX bez_res_rsv_ruimte_key1 ON bez_afspraak(res_rsv_ruimte_key);
///////////////////////////////////////////////// SPECIFIC UPDATES //////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1192
ALTER TABLE fac_usrdata ADD fac_usrdata_prijs NUMBER(8,2);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1193
ALTER TABLE fac_usrdata ADD fac_usrdata_volgnr NUMBER(3);
///////////////////////////////////////////////////////////////////////////////////////////////// CAPG#128
ALTER TABLE mld_melding
ADD mld_melding_afgemeld_user NUMBER(10)
REFERENCES prs_perslid (prs_perslid_key);
ALTER TABLE mld_opdr
ADD mld_opdr_afgemeld_user NUMBER(10)
REFERENCES prs_perslid (prs_perslid_key);
ALTER TABLE mld_opdr ADD mld_opdr_aanmaak DATE;
ALTER TABLE mld_opdr MODIFY mld_opdr_aanmaak DEFAULT SYSDATE;
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#184
UPDATE web_user_mess_text
SET web_user_mess_text_dsc = 'Reservering ##KEY## (##DESC##) is bevestigd'
WHERE web_user_mess_text_code = 'BEVRES';
UPDATE web_user_mess_text
SET web_user_mess_text_dsc = 'Reservering ##KEY## (##DESC##) is aangemaakt/aangepast'
WHERE web_user_mess_text_code = 'UPDRES';
///////////////////////////////////////////////////////////////////////////////////////////////// CONN#459
ALTER TABLE prs_kenmerk DROP CONSTRAINT prs_c_prs_kenmerk_niveau2;
ALTER TABLE prs_kenmerk ADD (
CONSTRAINT prs_c_prs_kenmerk_niveau2 CHECK (prs_kenmerk_niveau IN ('P','A', 'B')));
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1182
#include "ond_tab.src"
#include "ond_seq.src"
#include "ond_ind.src"
/* #include "ond_ini.src" Ze moeten em wel eerst kopen */
///////////////////////////////////////////////////////////////////////////////////////////////// AKZA#540
ALTER TABLE mld_melding MODIFY mld_melding_opmerking VARCHAR2(4000);
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1142
-- Opmerking: dit eerstvolgende statement mag falen.
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_niveau2;
///////////////////////////////////////////////////////////////////////////////////////////////// FSN#332
UPDATE fac_functie set fac_functie_min_level=15 where fac_functie_code in ('WEB_SLEFOF', 'WEB_SLEBOF');
///////////////////////////////////////////////////////////////////////////////////////////////// CAPG#134
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('ORDAFM','Uw opdracht ##KEY## is gereed gemeld door ##NAAM##',10);
// plus new trigger in recreate
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#212
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#217
CREATE_TABLE (res_disc_params,RES_BIBLIOTHEEK_PRIVILEGE)
(
res_disc_params_key NUMBER(10),
res_ins_discipline_key NUMBER(10),
res_disc_params_preposttime NUMBER(5,2) DEFAULT 0,
res_disc_params_notify NUMBER(2) DEFAULT 1,
CONSTRAINT res_c_ins_discipline_key CHECK (res_ins_discipline_key IS NOT NULL),
CONSTRAINT res_k_res_disc_params_key PRIMARY KEY (res_disc_params_key),
CONSTRAINT res_r_ins_discipine_key FOREIGN KEY (res_ins_discipline_key)
REFERENCES ins_tab_discipline (ins_discipline_key)
);
CREATE SEQUENCE res_s_res_disc_params_key MINVALUE 1;
// trigger is needed here, since the INSERT below needs it.
CREATE_TRIGGER(res_t_res_disc_params_b_iu)
BEFORE INSERT OR UPDATE ON res_disc_params
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(res_disc_params_key, res_s_res_disc_params_key);
END;
/
INSERT INTO res_disc_params
(res_ins_discipline_key, res_disc_params_preposttime)
SELECT ins_discipline_key, 0.25
FROM res_discipline;
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#15
// Populate new keys (since 4.49.1) for old values
UPDATE bez_afspraak
SET bez_afspraak_contact_key = prs_perslid_key
WHERE bez_afspraak_contact_key IS NULL;
UPDATE bez_afspraak
SET bez_afspraak_host_key = (SELECT prs_perslid_key
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_naam_full = bez_afspraak_gastheer)
WHERE bez_afspraak_host_key IS NULL;
///////////////////////////////////////////////////////////////////////////////////////////////// AKZA#599
UPDATE web_helpsystem
SET help_modes = 'backo'
WHERE full_file_name LIKE '%visitors/report_input.asp';
/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.50.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.50.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
START recreate.sql
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,102 +0,0 @@
// Maak een AutoCAD script
// Voor elke verdieping wordt een overkoepelende tekening gemaakt
// waarbij alle oorspronkelijke (Map) tekeningen als XREF gekoppeld zijn
var dwgPath = "D:\\Fclt\\DWG\\Ac"
var str = 'File Name=..\\oracle.udl';
var Oracle = new ActiveXObject("ADODB.Connection");
Oracle.Open(str);
sql = "SELECT alg_locatie_code, alg_gebouw_code||'_'||ALG_VERDIEPING_CODE teknaam,"
sql += " av.alg_verdieping_key avk, cad_layer, ins_discipline_omschrijving,"
sql += " cad_tekening_type, CAD_TEKENING_FILENAAM, ct.cad_tekening_key"
sql += " FROM CAD_TEKENING ct, "
sql += " INS_TAB_DISCIPLINE itd,"
sql += " ALG_V_AANWEZIGVERDIEPING av, alg_gebouw ag, alg_locatie al"
sql += " WHERE ct.alg_verdieping_key = av.alg_verdieping_key"
sql += " AND ct.ins_discipline_key = itd.ins_discipline_key(+)"
sql += " AND av.alg_gebouw_key = ag.alg_gebouw_key"
sql += " AND ag.alg_locatie_key = al.alg_locatie_key"
sql += " AND cad_tekening_verwijder is null"
sql += " ORDER BY ct.alg_verdieping_key"
var oRs = Oracle.Execute(sql);
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(".\\450to460.scr", true);
flog = fso.CreateTextFile(".\\logger.log", true);
flog.WriteLine(sql);
f1.WriteLine("SDI 1");
function newFile()
{
f1.WriteLine(";");
f1.WriteLine(";");
f1.WriteLine("line 0,0 100,100 ");
f1.WriteLine("_NEW");
f1.WriteLine("_Y");
f1.WriteLine("");
f1.WriteLine("(defun mksl (la)");
f1.WriteLine(" (command \"_LAYER\")");
f1.WriteLine(" (if (null (tblsearch \"LAYER\" la)) (command \"_MAKE\" la))");
f1.WriteLine(" (command \"_SET\" la \"\")");
f1.WriteLine(")");
}
var lastVerd = oRs("avk").Value
newFile();
while (!oRs.Eof)
{
var currVerd = oRs("avk").Value
if (lastVerd!=currVerd)
{
f1.WriteLine("(mksl \"0\")");
f1.WriteLine("_ZOOM _E");
f1.WriteLine("_SAVEAS 2000 C:\\" + teknaam);
newFile();
}
switch (oRs("cad_tekening_type").Value)
{
case "D": cadlayer = oRs("CAD_LAYER").Value; break;
case "C": cadlayer = "CONT"; break;
case "P": cadlayer = "PLAN"; break;
otherwise: flog.WriteLine("Tektype niet gevonden: " + oRs("cad_tekening_type").Value);
}
var fullDWG = dwgPath + "\\" + oRs("CAD_TEKENING_FILENAAM");
if (cadlayer == null)
{
debugger;
flog.WriteLine("Layer niet gevonden voor: " + oRs("ins_discipline_omschrijving") + "/" + oRs("cad_tekening_key"));
}
else if (!fso.FileExists(fullDWG))
{
flog.WriteLine("Tekening niet gevonden: " + fullDWG);
}
else
{
f1.WriteLine("(mksl \"" + cadlayer + "\")");
f1.WriteLine("XREF _A " + dwgPath + "\\" + oRs("CAD_TEKENING_FILENAAM") + " 0,0,0 1 1 0");
var blk = oRs("CAD_TEKENING_FILENAAM").Value;
blk = blk.substring(0, blk.length-4);
f1.WriteLine("-RENAME _BLOCK \"" + blk + "\" " + cadlayer + " " + " ");
}
lastVerd = currVerd
teknaam = oRs("teknaam").Value;
teknaam = teknaam.replace(/\ /g, "_").replace(/\@/g,"_");
oRs.MoveNext();
}
f1.Close();
flog.Close();
alert("Klaar...");
// Pas op: lijkt niet te werken in de debugger?
function alert(msg)
{
var WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup(msg)
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,88 +0,0 @@
--
-- Update script van Facilitor versie 4.60.0 naar 4.60.3
--
--/* NB: Alleen bedoeld om testomgevingen te upgraden van .0 naar .3
-- * Het 450to460 heeft deze aanpasingen ook in zich, en voert de conversie anders uit dan voorheen.
-- * waardoor het dus niet meer zo is dat met het uitvoeren van dit script een echte .3 is gerealiseerd.
-- */
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.0 naar 4.60.3*
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.0 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4600to3.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.3*';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#(31)
INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, mld_statusopdr_upper, mld_statusopdr_module)
VALUES (2, 'Niet akkoord', 'MLD_NIETGEFIATTEERD', 'MLD');
create index mld_i_mld_opdr13 on mld_opdr(prs_kostenplaats_key);
create index res_i_res_reservering4 on res_reservering(prs_kostenplaats_key);
create index bes_i_bes_bestelling6 on bes_bestelling (prs_kostenplaats_key);
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,87 +0,0 @@
--
-- Update script van Facilitor versie 4.60.3 naar 4.60.4* (testing purposes)
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.3 naar 4.60.4*
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.3 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4603to4.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.4*';
--///////////////////////////////////////////////////////////////////////////////////////////////// AKZA#671
ALTER TABLE alg_terreinsector ADD alg_terreinsector_ordernr VARCHAR2(30);
ALTER TABLE bes_bestelling ADD bes_bestelling_ordernr VARCHAR2(30);
ALTER TABLE res_reservering ADD res_reservering_ordernr VARCHAR2(30);
ALTER TABLE mld_melding ADD mld_melding_ordernr VARCHAR2(30);
ALTER TABLE alg_gebouw ADD alg_gebouw_ordernr VARCHAR2(30);
CREATE OR REPLACE FORCE VIEW prs_v_aanwezigkostenplaats AS
SELECT * FROM prs_kostenplaats WHERE prs_kostenplaats.prs_kostenplaats_verwijder IS NULL;
ALTER TABLE prs_kostenplaats ADD CONSTRAINT prs_u_prs_kostenplaats_upper UNIQUE(prs_kostenplaats_upper, prs_kostenplaats_verwijder);
ALTER TABLE prs_kostensoort ADD prs_kostensoort_opmerking VARCHAR2(255);
ALTER TABLE prs_kostensoort DROP COLUMN prs_kostensoort_verwijder;
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.4*'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.4*'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,92 +0,0 @@
--
-- Update script van Facilitor versie 4.60.4 naar 4.60.5
--
--/* NB: Alleen bedoeld om testomgevingen te upgraden van .4 naar .5
-- * Het 450to460 heeft deze aanpasingen ook in zich, en voert de conversie anders uit dan voorheen.
-- * waardoor het dus niet meer zo is dat met het uitvoeren van dit script een echte .5 is gerealiseerd.
-- */
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.4 naar 4.60.5*
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.4 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4604to5.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.5*';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#(31)
CREATE OR REPLACE VIEW fac_v_my_res_ruimte_read2 (res_ruimte_key, prs_perslid_key, fac_functie_key)
AS
SELECT rr.res_ruimte_key, fr.prs_perslid_key, g.fac_functie_key
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr, fac_v_webgebruiker g
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_read
AND ins_discipline_min_level = 3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND g.fac_gebruiker_alg_level_read < 9;
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.5'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.5'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,109 +0,0 @@
--
-- Update script van Facilitor versie 4.60.5 naar 4.60.6
--
--/* NB: Alleen bedoeld om testomgevingen te upgraden van .4 naar .5
-- * Het 450to460 heeft deze aanpasingen ook in zich, en voert de conversie anders uit dan voorheen.
-- * waardoor het dus niet meer zo is dat met het uitvoeren van dit script een echte .5 is gerealiseerd.
-- */
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.5 naar 4.60.6*
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.5 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4605to6.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.6*';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
--///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#(31)
CREATE OR REPLACE VIEW fac_v_my_res_ruimte_write2 (res_ruimte_key, prs_perslid_key, fac_functie_key)
AS
SELECT rr.res_ruimte_key, fr.prs_perslid_key, g.fac_functie_key
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr, fac_v_webgebruiker g
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_write
AND ins_discipline_min_level = 3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND g.fac_gebruiker_alg_level_write < 9;
create index res_i_res_deel2 on res_deel(res_discipline_key);
create index res_i_res_ruimte3 on res_ruimte(res_discipline_key);
create index res_i_res_artikel1 on res_artikel(res_discipline_key);
create index res_i_res_rsv_artikel3 on res_rsv_artikel(res_rsv_ruimte_key);
--/////////////////////////////////////////////////////////////////////////////////////////////////
INSERT INTO fac_message VALUES ('KPN_OPENST_OPDRACHT','is kostenplaats bij opdracht')
;
INSERT INTO fac_message VALUES ('KPN_OPENST_MELDING','is kostenplaats bij melding/aanvraag')
;
INSERT INTO fac_message VALUES ('KPN_OPENST_RES_R','is kostenplaats bij zaalreservering')
;
INSERT INTO fac_message VALUES ('KPN_OPENST_RES_V','is kostenplaats bij voorzieningreservering')
;
INSERT INTO fac_message VALUES ('KPN_OPENST_RES_C','is kostenplaats voor cateringbestelling')
;
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.6'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.6'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,81 +0,0 @@
--
-- Update script van Facilitor versie 4.60.6 naar 4.60.7
--
--/* NB: Alleen bedoeld om testomgevingen te upgraden van .6 naar .7
-- * Het 450to460 heeft deze aanpasingen ook in zich, en voert de conversie anders uit dan voorheen.
-- * waardoor het dus niet meer zo is dat met het uitvoeren van dit script vanaf 4.50 een echte .7 is gerealiseerd.
-- */
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.6 naar 4.60.7*
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.6 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4606to7.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.7*';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
@recreate.sql
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.7'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.7'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,91 +0,0 @@
--
-- Update script van Facilitor versie 4.60.7 naar 4.60.8
--
--/* NB: Alleen bedoeld om testomgevingen te upgraden van .7 naar .8
-- * Het 450to460 heeft deze aanpasing ook in zich!!
-- */
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.7 naar 4.60.8
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.7 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4607to8.LST
UPDATE FAC_MODULE SET fac_module_VERSION='04.60.8';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
--/////////////////////////////////////////////////////////////////////////////////////////////////
-- Vergeten indexje
create index res_i_res_rsv_deel6 on res_rsv_deel(res_rsv_ruimte_key);
--///////////////////////////////////////////////////////////////////////////////////////////////// CONN#676
ALTER TABLE prs_kostenplaatsgrp ADD
(
prs_perslid_key
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key)
);
--/////////////////////////////////////////////////////////////////////////////////////////////////
@recreate.sql
--/////////////////////////////////////////////////////////////////////////////////////////////////
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.60.8'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.60.8'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,68 +0,0 @@
--
-- Update script van Facilitor versie 4.60.8 naar 4.60.9
-- Past slechts het database versienummer aan; geen datamodel changes
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.8 naar 4.60.9
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.8 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4608to9.LST
UPDATE fac_module SET fac_module_version='04.60.9';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.9'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.9'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,68 +0,0 @@
--
-- Update script van Facilitor versie 4.60.9 naar 4.60.A
-- Past slechts het database versienummer aan; geen datamodel changes
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.9 naar 4.60.A
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.9 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x4609toA.LST
UPDATE fac_module SET fac_module_version='04.60.A';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.A'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.A'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,76 +0,0 @@
--
-- Update script van Facilitor versie 4.60.A naar 4.60.B
-- Past slechts het database versienummer aan; geen datamodel changes
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.A naar 4.60.B
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.A en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460AtoB.LST
UPDATE fac_module SET fac_module_version='04.60.B';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
-- ///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#536
ALTER TABLE res_rsv_artikel
DROP CONSTRAINT res_c_res_rsv_artikel_prijs;
-- ///////////////////////////////////////////////////////////////////////////////////////////////// CONN#662
INSERT INTO cnt_mutatie_status VALUES (6, 'Geexporteerd');
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.B'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.B'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,68 +0,0 @@
--
-- Update script van Facilitor versie 4.60.B naar 4.60.C
-- Past slechts het database versienummer aan; geen datamodel changes
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.B naar 4.60.C
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.B en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460BtoC.LST
UPDATE fac_module SET fac_module_version='04.60.C';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.C'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.C'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,66 +0,0 @@
--
-- Update script van Facilitor versie 4.60.C naar 4.60.D
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.C naar 4.60.D
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.C en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460CtoD.LST
UPDATE fac_module SET fac_module_version='04.60.D';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.D'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.D'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,133 +0,0 @@
--
-- Update script van Facilitor versie 4.60.D naar 4.60.E
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.D naar 4.60.E
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.D en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460DtoE.LST
UPDATE fac_module SET fac_module_version='04.60.E';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
--///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1382
INSERT INTO bes_disc_params
(bes_ins_discipline_key, bes_disc_params_bestellimiet, bes_disc_params_module)
SELECT ins_discipline_key, 0, 'BES'
FROM bes_discipline
WHERE NOT EXISTS (SELECT bes_ins_discipline_key
FROM bes_disc_params
WHERE bes_ins_discipline_key = ins_discipline_key);
INSERT INTO res_disc_params
(res_ins_discipline_key)
SELECT ins_discipline_key
FROM res_discipline
WHERE NOT EXISTS (SELECT res_ins_discipline_key
FROM res_disc_params
WHERE res_ins_discipline_key = ins_discipline_key);
--///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#571
-- Bezoekers in verwijderde RES_ALG_RUIMTE corrigeren
DECLARE
CURSOR c1 IS
select a.bez_afspraak_key
, rr2ar.res_rsv_ruimte_key
, ra.res_ruimte_key
, ra.alg_ruimte_key
, (select min(rar.alg_ruimte_key)
from res_alg_ruimte rar
where rar.res_ruimte_key = ra.res_ruimte_key
and rar.res_alg_ruimte_verwijder is null) nieuw
from res_v_rsv_ruimte_2_alg_ruimte rr2ar
, bez_afspraak a
, res_alg_ruimte ra
where rr2ar.res_ruimte_key = ra.res_RUIMTE_KEY
and ra.alg_ruimte_key = a.alg_onrgoed_keys
and res_alg_ruimte_verwijder is not null
and a.res_rsv_ruimte_key = rr2ar.res_rsv_ruimte_key;
rec c1%ROWTYPE;
BEGIN
OPEN c1;
IF c1%ISOPEN THEN
LOOP
BEGIN
FETCH c1 INTO rec;
EXIT WHEN c1%NOTFOUND;
update bez_afspraak set alg_onrgoed_keys = rec.nieuw where bez_afspraak_key = rec.bez_afspraak_key;
END;
END LOOP;
END IF;
CLOSE c1;
COMMIT;
END;
/
--///////////////////////////////////////////////////////////////////////////////////////////////// FSN#1344
DROP INDEX prs_i_prs_kostenplaats1;
CREATE UNIQUE INDEX prs_i_prs_kostenplaats1 ON prs_kostenplaats (prs_kostenplaats_upper, prs_kostenplaats_verwijder);
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.E'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.E'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,66 +0,0 @@
--
-- Update script van Facilitor versie 4.60.E naar 4.60.F
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.E naar 4.60.F
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.60.E en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460EtoF.LST
UPDATE fac_module SET fac_module_version='04.60.F';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.F'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.F'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,66 +0,0 @@
--
-- Update script van Facilitor versie 4.60.F naar 4.60.G
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.F naar 4.60.G
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460FtoG.LST
UPDATE fac_module SET fac_module_version='04.60.G';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.G'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.G'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,66 +0,0 @@
--
-- Update script van Facilitor versie 4.60.G naar 4.60.H
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.G naar 4.60.H
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460GtoH.LST
UPDATE fac_module SET fac_module_version='04.60.H';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.H'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.H'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,86 +0,0 @@
--
-- Update script van Facilitor versie 4.60.H naar 4.60.J
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.H naar 4.60.J
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460HtoJ.LST
UPDATE fac_module SET fac_module_version='04.60.J';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
UPDATE bez_afspraak ba
SET alg_onrgoed_keys =
(SELECT rar.alg_ruimte_key
FROM res_rsv_ruimte rrr,
res_ruimte_opstelling ro,
res_alg_ruimte rar,
alg_ruimte ar2
WHERE ar2.alg_ruimte_verwijder IS NULL
AND rar.res_alg_ruimte_verwijder is null
AND ba.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = ar2.alg_ruimte_key)
WHERE --ba.bez_afspraak_datum >= SYSDATE AND
EXISTS (
SELECT alg_ruimte_verwijder
FROM alg_ruimte ar
WHERE ar.alg_ruimte_key = ba.alg_onrgoed_keys
AND alg_ruimte_verwijder IS NOT NULL);
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.J'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.J'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,74 +0,0 @@
--
-- Update script van Facilitor versie 4.60.J naar 4.60.K
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SET DEFINE OFF
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60.J naar 4.60.K
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT ON
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL x460JtoK.LST
-- CAPG#181
INSERT INTO WEB_USER_MESS_ACTIONS ( web_user_mess_actions_key, web_user_mess_action_dsc )
VALUES (16, 'res/default_eu.asp?reminder=1&res_key=');
UPDATE WEB_USER_MESS_TEXT
SET WEB_USER_MESS_ACTIONS_KEY = 16
WHERE WEB_USER_MESS_TEXT_CODE = 'INFRES';
UPDATE fac_module SET fac_module_version='04.60.K';
UPDATE fac_message
SET fac_message_text = 'Facilitor 4.60.K'
WHERE fac_message_code = 'FAC_M002';
UPDATE fac_message
SET fac_message_text = 'Welkom bij Facilitor 4.60.K'
WHERE fac_message_code = 'FAC_M035';
COMMIT;
SPOOL OFF
SET ECHO OFF
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,447 +0,0 @@
--
-- Update script van Facilitor versie 4.60(.E of later) naar 4.61 $Revision$
--
/*
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
* SQL Server and Oracle specific statements.
*
* C-style comment is removed from the result
*/
#include "modules.h"
#include "comsql.h"
#ifndef MS_SQL
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
SPOOL OFF
SET HEADING OFF
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SET DEFINE OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.60 naar 4.61.0
#ifdef MS_SQL
PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision$
PROMPT $Id$
PROMPT Copyright 1996-2006 Dijkoraad IT bv/Facilitor Software Nederland bv
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt.
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x460to461.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
#endif
UPDATE_VERSION('04.61.0');
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
#ifdef MS_SQL
#endif
#ifndef MS_SQL
#endif
///////////////////////////////////////////////////////////////////////////////////////////////CONN#583
#include "FIN/FIN_TAB.SRC"
#include "FIN/FIN_SEQ.SRC"
#include "FIN/FIN_INI.SRC"
/* from cnt_tab.src */
ALTER TABLE cnt_contract
ADD cnt_contract_termijnkosten
NUMBER(8,2);
ALTER TABLE cnt_contract
ADD prs_kostensoort_key
NUMBER(10)
CONSTRAINT cnt_r_prs_kostensoort1 REFERENCES prs_kostensoort(prs_kostensoort_key);
/* from web_ini.src */
DEF_FAC_FUNCTIE2('WEB_FINFOF', 'Frontoffice:Factuurinvoer', 'FIN', 3, 0,'Om facturen administratief te kunnen behandelen/invoeren');
DEF_FAC_FUNCTIE2('WEB_FINBOF', 'Backoffice:Factuurcontrole', 'FIN', 3, 0,'Om facturen inhoudelijk te kunnen behandelen/fiatteren');
///////////////////////////////////////////////////////////////////////////////////////////////FSN#1254
// Het derde bit (4) is bestemd voor Project/Geen Project.
ALTER TABLE cad_label
DROP CONSTRAINT cad_c_cad_label_type;
ALTER TABLE cad_label ADD (
CONSTRAINT cad_c_cad_label_type CHECK (cad_label_type BETWEEN 1 AND 7));
ALTER TABLE cad_thema
DROP CONSTRAINT cad_c_cad_thema_type;
ALTER TABLE cad_thema ADD (
CONSTRAINT cad_c_cad_thema_type CHECK (cad_thema_type BETWEEN 1 AND 7));
#include "PRJ/PRJ_TAB.SRC"
#include "PRJ/PRJ_SEQ.SRC"
#include "PRJ/PRJ_INI.SRC"
DEF_FAC_FUNCTIE2('WEB_PRJBOF', 'Backoffice:Verhuizingen', 'ALG', 11, 0,'Om verhuisscenarios te kunnen maken.');
///////////////////////////////////////////////////////////////////////////////////////////////UWVA#566
// uit bes_tab.src
CREATE_TABLE(bes_refsrtkenmerk, 0)
( bes_refsrtkenmerk_key
NUMBER(10)
CONSTRAINT bes_k_bes_refsrtkenmerk_key PRIMARY KEY
, bes_refsrtkenmerk_omschrijving
VARCHAR2(50)
, bes_refsrtkenmerk_upper
VARCHAR2(50)
, bes_refsrtkenmerk_objectnaam
VARCHAR2(30)
, bes_refsrtkenmerk_kolomnaam
VARCHAR2(30)
, bes_refsrtkenmerk_kolomtxt
VARCHAR2(30)
, fac_usrtab_key
NUMBER(10)
, bes_refsrtkenmerk_aanmaak
DATE
DEFAULT SYSDATE
, bes_refsrtkenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT bes_c_bes_refsrtkenmerk_omschr CHECK(bes_refsrtkenmerk_omschrijving IS NOT NULL)
#ifndef MS_SQL
, CONSTRAINT bes_c_bes_refsrtkenmerk_upper CHECK(bes_refsrtkenmerk_upper IS NOT NULL)
#endif
, CONSTRAINT bes_u_bes_refsrtkenmerk_upper UNIQUE(bes_refsrtkenmerk_upper, bes_refsrtkenmerk_verwijder)
, CONSTRAINT bes_c_bes_refsrtkenm_objnaam CHECK(bes_refsrtkenmerk_objectnaam IS NOT NULL)
, CONSTRAINT bes_c_bes_refsrtkenm_kolnaam CHECK(bes_refsrtkenmerk_kolomnaam IS NOT NULL)
, CONSTRAINT bes_c_bes_refsrtkenm_kolomtxt CHECK(bes_refsrtkenmerk_kolomtxt IS NOT NULL)
, CONSTRAINT bes_r_fac_usrtab_key1 FOREIGN KEY(fac_usrtab_key) REFERENCES fac_usrtab(fac_usrtab_key)
, CONSTRAINT bes_c_bes_refsrtkenmerk_aanm CHECK(bes_refsrtkenmerk_aanmaak IS NOT NULL)
);
CREATE_TABLE(bes_srtkenmerk, 0)
( bes_srtkenmerk_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtkenmerk_key PRIMARY KEY
, bes_srtkenmerk_omschrijving
VARCHAR2(50)
, bes_srtkenmerk_upper
VARCHAR2(50)
, bes_srtkenmerk_dimensie
VARCHAR2(10)
, bes_srtkenmerk_kenmerktype
VARCHAR2(1)
, bes_srtkenmerk_systeem
NUMBER(1)
, bes_srtkenmerk_lengte
NUMBER(3)
, bes_srtkenmerk_dec
NUMBER(3)
, bes_srtkenmerk_nmin
NUMBER(10)
, bes_srtkenmerk_nmax
NUMBER(10)
, bes_refsrtkenmerk_key
NUMBER(10)
, bes_srtkenmerk_aanmaak
DATE
DEFAULT SYSDATE
, bes_srtkenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT bes_c_bes_srtkenmerk_omschr CHECK(bes_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT bes_srtkenmerk_omschrijving CHECK(bes_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT bes_u_bes_srtkenmerk_upper UNIQUE(bes_srtkenmerk_upper, bes_srtkenmerk_verwijder)
, CONSTRAINT bes_c_bes_srtkenmerk_kenmtype CHECK(bes_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q'))
, CONSTRAINT bes_c_bes_srtkenmerk_systeem CHECK(bes_srtkenmerk_systeem IS NULL
OR bes_srtkenmerk_systeem = 1)
, CONSTRAINT bes_c_bes_srtkenmerk_lengte CHECK(bes_srtkenmerk_lengte >= 1
AND bes_srtkenmerk_lengte <= 255)
, CONSTRAINT bes_c_bes_srtkenmerk_max_min CHECK(bes_srtkenmerk_nmax >= bes_srtkenmerk_nmin)
, CONSTRAINT bes_r_bes_refsrtkenmerk_key2 CHECK(bes_srtkenmerk_kenmerktype <> 'R'
OR bes_refsrtkenmerk_key IS NOT NULL)
, CONSTRAINT bes_c_bes_srtkenmerk_dec CHECK(bes_srtkenmerk_dec >= 0
AND bes_srtkenmerk_dec <= bes_srtkenmerk_lengte)
, CONSTRAINT bes_c_bes_srtkenmerk_aanm CHECK(bes_srtkenmerk_aanmaak IS NOT NULL)
, CONSTRAINT bes_r_bes_refsrtkenmerk_key1 FOREIGN KEY(bes_refsrtkenmerk_key)
REFERENCES bes_refsrtkenmerk(bes_refsrtkenmerk_key)
);
CREATE_TABLE(bes_kenmerk, 0)
( bes_kenmerk_key
NUMBER(10)
CONSTRAINT bes_k_bes_kenmerk_key PRIMARY KEY
, bes_srtkenmerk_key
NUMBER(10)
, bes_srtinstallatie_key
NUMBER(10)
, bes_kenmerk_type
VARCHAR2(1)
CONSTRAINT bes_c_ins_kenmerk_type CHECK
(bes_kenmerk_type is not null and (bes_kenmerk_type IN( 'B', 'I')))
, bes_kenmerk_niveau
VARCHAR2(1)
CONSTRAINT bes_c_ins_kenmerk_niveau2 CHECK
(bes_kenmerk_niveau is not null and (bes_kenmerk_niveau IN( 'D', 'G', 'S')))
, bes_kenmerk_verplicht
NUMBER(1)
, bes_kenmerk_toonbaar
NUMBER(1)
, bes_kenmerk_volgnummer
NUMBER(3)
, bes_kenmerk_uniek
NUMBER(1)
, bes_kenmerk_aanmaak
DATE
DEFAULT SYSDATE
, bes_kenmerk_default
VARCHAR2(255)
, bes_kenmerk_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT bes_r_bes_srtkenmerk_key1 CHECK(bes_srtkenmerk_key IS NOT NULL)
, CONSTRAINT bes_r_bes_srtkenmerk_key2 FOREIGN KEY(bes_srtkenmerk_key) REFERENCES bes_srtkenmerk(bes_srtkenmerk_key)
, CONSTRAINT bes_c_bes_kenmerk_niveau1 CHECK(bes_kenmerk_niveau IS NOT NULL)
, CONSTRAINT bes_c_bes_kenmerk_verplicht CHECK(bes_kenmerk_verplicht IS NULL
OR bes_kenmerk_verplicht = 1)
, CONSTRAINT bes_c_bes_kenmerk_toonbaar CHECK(bes_kenmerk_toonbaar IS NULL
OR bes_kenmerk_toonbaar = 1)
, CONSTRAINT bes_c_bes_kenmerk_aanmaak CHECK(bes_kenmerk_aanmaak IS NOT NULL)
);
CREATE_TABLE(bes_kenmerkbestell, 0)
( bes_kenmerkbestell_key
NUMBER(10)
CONSTRAINT bes_k_bes_kenmerkbestell_key PRIMARY KEY
, bes_bestelling_key
NUMBER(10)
, bes_kenmerk_key
NUMBER(10)
, bes_kenmerkbestell_waarde
VARCHAR2(255)
, bes_kenmerkbestell_aanmaak
DATE
DEFAULT SYSDATE
, bes_kenmerkbestell_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT bes_c_bes_bestelling_key2 CHECK(bes_bestelling_key IS NOT NULL)
, CONSTRAINT bes_r_bes_bestelling_key3 FOREIGN KEY(bes_bestelling_key) REFERENCES bes_bestelling(bes_bestelling_key) ON DELETE CASCADE
, CONSTRAINT bes_c_bes_kenmerk_key1 CHECK(bes_kenmerk_key IS NOT NULL)
, CONSTRAINT bes_r_bes_kenmerk_key2 FOREIGN KEY(bes_kenmerk_key) REFERENCES bes_kenmerk(bes_kenmerk_key)
, CONSTRAINT bes_c_bes_kenmerkbestell_aanm CHECK(bes_kenmerkbestell_aanmaak IS NOT NULL)
, CONSTRAINT bes_u_bes_kenmerkbestell UNIQUE(bes_kenmerk_key, bes_bestelling_key, bes_kenmerkbestell_verwijder)
);
CREATE_TABLE(bes_kenmerkbesteli, 0)
( bes_kenmerkbesteli_key
NUMBER(10)
CONSTRAINT bes_k_bes_kenmerkbesteli_key PRIMARY KEY
, bes_bestelling_item_key
NUMBER(10)
, bes_kenmerk_key
NUMBER(10)
, bes_kenmerkbesteli_waarde
VARCHAR2(255)
, bes_kenmerkbesteli_aanmaak
DATE
DEFAULT SYSDATE
, bes_kenmerkbesteli_verwijder
DATE
DEFAULT NULLDATUM
, CONSTRAINT bes_c_bes_bestelling_item_key2 CHECK(bes_bestelling_item_key IS NOT NULL)
, CONSTRAINT bes_r_bes_bestelling_item_key3 FOREIGN KEY(bes_bestelling_item_key) REFERENCES bes_bestelling_item(bes_bestelling_item_key) ON DELETE CASCADE
, CONSTRAINT bes_c_bes_kenmerk_key3 CHECK(bes_kenmerk_key IS NOT NULL)
, CONSTRAINT bes_r_bes_kenmerk_key4 FOREIGN KEY(bes_kenmerk_key) REFERENCES bes_kenmerk(bes_kenmerk_key)
, CONSTRAINT bes_c_bes_kenmerkbesteli_aanm CHECK(bes_kenmerkbesteli_aanmaak IS NOT NULL)
, CONSTRAINT bes_u_bes_kenmerkbesteli UNIQUE(bes_kenmerk_key, bes_bestelling_item_key, bes_kenmerkbesteli_verwijder)
);
CREATE_TABLE (bes_bestelling_xml,0)
(
bes_bestelling_key NUMBER(10),
bes_bestelling_xml LONG,
bes_bestelling_xml_datum DATE DEFAULT SYSDATE NOT NULL,
bes_bestelling_xml_volgnr NUMBER,
CONSTRAINT bes_r_bes_bestelling_xml_key FOREIGN KEY (bes_bestelling_key)
REFERENCES bes_bestelling (bes_bestelling_key)
ON DELETE CASCADE
);
ALTER TABLE bes_bestelopdr_xml
ADD bes_bestelopdr_xml_volgnr NUMBER;
ALTER TABLE bes_bestelopdr_xml
DROP CONSTRAINT bes_k_bes_bestelopdr_xml_key;
-- Verwijzing wordt omgelegd van bestelopdracht naar bestelopdrachtregel
ALTER TABLE bes_bestelling_item
ADD bes_bestelopdr_item_key NUMBER(10) REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key);
UPDATE bes_bestelling_item bi
SET bes_bestelopdr_item_key =
(SELECT bes_bestelopdr_item_key
FROM bes_bestelopdr_item boi
WHERE boi.ins_srtdeel_key = bi.ins_srtdeel_key AND boi.bes_bestelopdr_key = bi.bes_bestelopdr_key);
ALTER TABLE bes_bestelopdr_item
ADD bes_bestelopdr_item_posnr NUMBER(5);
ALTER TABLE bes_bestelopdr_item
ADD CONSTRAINT bes_c_bes_bestelopdr_key CHECK (bes_bestelopdr_key IS NOT NULL);
-- Opruimen helemaal onderaan:
// nieuws uit bes_seq.src
CREATE SEQUENCE bes_s_bes_refsrtkenmerk_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtkenmerk_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_kenmerk_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_kenmerkbestell_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_kenmerkbesteli_key MINVALUE 1;
// De mogen gaan vervallen indien ze verder in deze upgrade niet worden gebruikt
#include "BES/BES_TRI.SRC"
#include "BES/BES_VIE.SRC"
CREATE INDEX bes_i_bes_bestelling_item1 ON bes_bestelling_item(bes_bestelopdr_item_key);
CREATE INDEX bes_i_bes_kenmerkbestell1 ON bes_kenmerkbestell(bes_bestelling_key);
CREATE INDEX bes_i_bes_kenmerkbestell2 ON bes_kenmerkbestell(bes_kenmerk_key);
CREATE INDEX bes_i_bes_kenmerkbestell3 ON bes_kenmerkbestell(bes_kenmerkbestell_waarde);
CREATE INDEX bes_i_bes_kenmerkbesteli1 ON bes_kenmerkbesteli(bes_bestelling_item_key);
CREATE INDEX bes_i_bes_kenmerkbesteli2 ON bes_kenmerkbesteli(bes_kenmerk_key);
CREATE INDEX bes_i_bes_kenmerkbesteli3 ON bes_kenmerkbesteli(bes_kenmerkbesteli_waarde);
// De langverwachte link naar locatie
ALTER TABLE mld_adres ADD
alg_locatie_key
NUMBER(10)
CONSTRAINT mld_r_alg_locatie_key3 REFERENCES alg_locatie (alg_locatie_key);
UPDATE fac_functie SET fac_functie_min_level=13 WHERE fac_functie_code='WEB_BESBAC';
UPDATE fac_functie SET fac_functie_min_level=15 WHERE fac_functie_code='WEB_BESBOF';
UPDATE fac_functie SET fac_functie_min_level=15 WHERE fac_functie_code='WEB_BESBOR';
UPDATE fac_functie SET fac_functie_min_level=15 WHERE fac_functie_code='WEB_BESFOF';
UPDATE fac_functie SET fac_functie_min_level=11 WHERE fac_functie_code='WEB_BESUSE';
///////////////////////////////////////////////////////////////////////////////////////////////AKZA#736
ALTER TABLE ins_disc_params MODIFY
ins_disc_params_cadlayers VARCHAR2(500);
///////////////////////////////////////////////////////////////////////////////////////////////AKZA#
UPDATE fac_functie SET fac_functie_min_level=11 WHERE fac_functie_code='WEB_TERMAN';
///////////////////////////////////////////////////////////////////////////////////////////////CONN#723
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_prijs NUMBER(11,5);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsector_prijs NUMBER(11,5);
////////////////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
//////////////////////////////////// approved by the Facilitor release manager //////////////////
/// Hier Alleen DML statements, DDL statements aan het einde, vlak voor de recreate
/// Het zou anders allerlei zaken bij voorbaat invalid maken.
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// NEW INDICES
//
create index ins_i_ins_srtdeel5 on ins_srtdeel(prs_bedrijf_key, ins_srtgroep_key, ins_srtdeel_verwijder);
/////////////////////////////// DDL CLEANUP STATEMENTS //////////////////////////////////////////
ALTER TABLE bes_bestelling DROP COLUMN bes_alg_locatie_key;
ALTER TABLE bes_bestelling DROP COLUMN prs_afdeling_key;
ALTER TABLE bes_bestelling_item DROP COLUMN bes_bestelopdr_key;
ALTER TABLE bes_bestelopdr_item DROP COLUMN ins_srtdeel_key;
ALTER TABLE prs_afdeling DROP COLUMN prs_afdeling_kostenplaats;
DROP FUNCTION BES_Make_XMLOrders_query;
DROP FUNCTION fac_bestelling_items;
DROP FUNCTION fac_bestelopdr_items;
DROP FUNCTION fac_rep_bestelling_items;
DROP FUNCTION fac_rep_bestelopdr_items;
DROP PROCEDURE bes_make_xmlorders;
DROP TABLE bes_cXMLparams;
DROP TRIGGER bes_t_bes_bestelopdr_xml_a_iu;
DROP TRIGGER mld_t_mld_melding_xml_a_iu;
DROP TRIGGER mld_t_mld_opdr_xml_a_iu;
DROP VIEW bes_bestelopdr_xmlsource;
DROP VIEW bes_item_prijs;
/*
--ALTER TABLE mld_melding DROP COLUMN mld_melding_username;
--??--ALTER TABLE res_reservering DROP COLUMN prs_afdeling_key;
--ALTER TABLE cnt_contract DROP CONSTRAINT cnt_u_cnt_contract_nummer;
-- DROP TABLE cnt_contract_dienst?;
*/
/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.0'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,165 +0,0 @@
--
-- Update script van Facilitor versie 4.61.0 naar 4.61.1
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.61.0 naar 4.61.1
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x4610to1.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
UPDATE fac_module SET fac_module_version='04.61.1';
COMMIT;
/****************************** PLAATS HIERONDER DE UPDATES PER CALL ******************************/
--///////////////////////////////////////////////////////////////////////////////////////////////UWVA#622
CREATE TABLE fac_perfmon
(
fac_perfmon_datum
DATE
DEFAULT SYSDATE
CONSTRAINT fac_k_fac_perform_datum PRIMARY KEY,
fac_perfmon_waarde
NUMBER
DEFAULT 0,
fac_perfmon_aantal
NUMBER
DEFAULT 0,
fac_perfmon_threshold
NUMBER,
fac_perfmon_users
NUMBER
)
;
--///////////////////////////////////////////////////////////////////////////////////////////////UWVA#627
CREATE TABLE fac_perfmon_sample
(
fac_perfmon_sample_datum
DATE
DEFAULT SYSDATE,
fac_perfmon_sample_waarde1
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde2
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde3
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde4
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde5
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde6
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde7
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde8
NUMBER
DEFAULT 0,
fac_perfmon_sample_waarde9
NUMBER
DEFAULT 0,
prs_perslid_key
NUMBER(10)
CONSTRAINT fac_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
fac_perfmon_sample_ip
VARCHAR2(32),
fac_perfmon_sample_opmerking
VARCHAR2(60)
)
;
create index fac_i_fac_perfmon_sample1 on fac_perfmon_sample(fac_perfmon_sample_datum);
create index fac_i_fac_perfmon_sample2 on fac_perfmon_sample(fac_perfmon_sample_ip);
create index fac_i_fac_perfmon_sample3 on fac_perfmon_sample(prs_perslid_key);
-- Views in recreate
-- Package in recreate
INSERT INTO fac_functie
(fac_functie_code, fac_functie_omschrijving, fac_functie_module,
fac_functie_min_level, fac_functie_discipline,
fac_functie_info
)
VALUES ('WEB_PERMON', 'Beheer:Performancemetingen', 'FAC',
0, 0,
'Autorisatie tbv performancemetingen (indien geconfigureerd!).'
);
--/////////////////////////////////////////////////////////////////////////////////////////////////FSN#1407
UPDATE fac_functie SET fac_functie_min_level=7 WHERE fac_functie_code='WEB_CNTBUS';
--//Was abusievelijk onder ALG terechtgekomen:
UPDATE fac_functie SET fac_functie_module='PRJ' WHERE fac_functie_code='WEB_PRJBOF';
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.1'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.1'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
--///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,83 +0,0 @@
--
-- Update script van Facilitor versie 4.61.1 naar 4.61.2
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.61.1 naar 4.61.2
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET DEFINE OFF
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x4611to2.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
UPDATE fac_module SET fac_module_version='04.61.2';
COMMIT;
--///////////////////////////////////////////////////////////////////////////////////////////////FSN#1381
ALTER TABLE bes_bestelopdr_item ADD bes_bestelopdr_item_aantalexp NUMBER(5);
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.2'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
--///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,78 +0,0 @@
--
-- Update script van Facilitor versie 4.61.2 naar 4.61.3
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.61.2 naar 4.61.3
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET DEFINE OFF
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x4612to3.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
UPDATE fac_module SET fac_module_version='04.61.3';
COMMIT;
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.3'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
--///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
--SUPPRESSED: START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,78 +0,0 @@
--
-- Update script van Facilitor versie 4.61.3 naar 4.61.4
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.61.3 naar 4.61.4
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET DEFINE OFF
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x4613to4.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
UPDATE fac_module SET fac_module_version='04.61.4';
COMMIT;
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.4'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.4'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
--///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
--SUPPRESSED: START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

View File

@@ -1,79 +0,0 @@
--
-- Update script van Facilitor versie 4.61.4 naar 4.61.5
--
SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SPOOL OFF
SET HEADING OFF
CLEAR SCREEN
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 4.61.4 naar 4.61.5
PROMPT versie voor Oracle
PROMPT $Revision$
PROMPT $Id$
PROMPT
SELECT 'De huidige versie van Facilitor is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
PROMPT geen gebruikers bezig zijn met de applicatie.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET DEFINE OFF
SET HEADING OFF
SET FEEDBACK ON
SET ECHO ON
SET VERIFY OFF
SET LINESIZE 1000
SET TIME ON
SET SERVEROUTPUT ON;
SPOOL x4614to5.LST
PROMPT
PROMPT Dit script is gerund in user:
SHOW USER ;
UPDATE fac_module SET fac_module_version='04.61.5';
COMMIT;
--/////////////////////////////////////////////////////////////////////////////////////////////////
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.61.5'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.61.5'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;
SPOOL OFF
--///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
-- Recreate (4a) is part of this fix
START recreate.sql
SET ECHO OFF
SET DEFINE ON
PROMPT De upgrade is gereed.. Controleer de LST-files.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More