Files
Database/RES/RES_PAC.SRC
Jos Groot Lipman f64ec0c724 FSN#1069
svn path=/Database/trunk/; revision=8855
2004-11-09 12:31:20 +00:00

95 lines
2.7 KiB
Plaintext

#ifdef RES
/* RES_PAC.SRC
*
* $Revision: 26 $
* $Modtime: 9-11-04 10:57 $
*
*/
CREATE OR REPLACE PACKAGE res AS
-- Dropped 4.48
-- FUNCTION Res_CalcMinMaxBezoekers(RuimteKey IN NUMBER) RETURN VARCHAR;
PROCEDURE Res_NotifyChange2User (pReskey IN NUMBER, pCode IN VARCHAR2, pReceiver IN NUMBER);
END res;
/
CREATE OR REPLACE PACKAGE BODY res AS
PROCEDURE Res_NotifyChange2User (pReskey IN NUMBER, pCode IN VARCHAR2, pReceiver IN NUMBER) AS
BEGIN
-- Proc+edure to create a notification to the enduser that requested the reservation
-- Only 1 message is visible to that user. If new events occur that would issue a
-- new notification, the old message is deleted first.
-- pReceiver is optional, if it's null we'll look for the receiver ourself.
DECLARE
lMessage VARCHAR2(255);
lActionkey NUMBER;
keepmes NUMBER(10);
lSender NUMBER(10);
lReceiver NUMBER(10);
BEGIN
keepmes:= 7;
IF pReceiver IS NULL THEN
-- Determine who to send this notification to
BEGIN
SELECT res_reservering_contact_key
INTO lReceiver
FROM res_reservering
WHERE res_reservering_key = pReskey;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
ELSE
lReceiver := pReceiver;
END IF;
IF pCode IS NOT NULL THEN
BEGIN
SELECT web_user_mess_text_dsc, web_user_mess_actions_key
INTO lMessage, lActionkey
FROM web_user_mess_text
WHERE web_user_mess_text_code = pCode;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF lActionkey IS NOT NULL
THEN
DELETE FROM web_user_messages
WHERE web_user_mess_actions_key = lActionkey
AND prs_perslid_key_receiver = lReceiver
AND web_user_mess_action_params = pResKey;
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
(lSender,
lReceiver,
lActionkey,
REPLACE(lMessage, '##KEY##', pReskey),
1,
pResKey);
END IF;
END IF;
DELETE FROM web_user_messages
WHERE web_user_mess_action_datum < (SYSDATE - keepmes)
AND web_user_mess_actions_key=lActionkey ;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
END;
END res;
/
#endif // RES