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

914 lines
37 KiB
Plaintext

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