Files
Database/_UP/301TO302.SRC
Bert in het Veld 156eaa193f EXIT toegevoegd zodat SQL*Plus af wordt gesloten als het script gerund heeft.
svn path=/Database/trunk/; revision=7108
1999-09-22 13:17:00 +00:00

732 lines
29 KiB
Plaintext

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