ins-package aangepast zodat gebruik kan worden gemaakt van een database-setting voor de history-mode. Hiervoor de fac_message FAC_HISTORY_MODE toegevoegd. svn path=/Database/trunk/; revision=8154
991 lines
34 KiB
Plaintext
991 lines
34 KiB
Plaintext
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
|