DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_MOBILE_LOGIN_INFO_PVT

Source


1 PACKAGE BODY INV_MOBILE_LOGIN_INFO_PVT AS
2 /* $Header: INVMULHB.pls 120.0 2005/05/25 05:42:43 appldev noship $ */
3 
4   PROCEDURE LOG_USER_INFO
5   (
6   p_event_type            IN  number,
7   p_user_id               IN  number,
8   p_server_machine_name   IN  varchar2,
9   p_server_port_number    IN  number,
10   p_client_machine_name   IN  varchar2,
11   p_client_port_number    IN  number,
12   p_event_message         IN  varchar2,
13   X_RETURN_STATUS         OUT    NOCOPY NUMBER
14    ) IS
15   BEGIN
16 
17      ROLLBACK;--Added bug4043847 since we must rollback all uncommited transactions before updating login history
18 
19      --p_event_type -> 0: log-in, 1: log-off
20      IF (p_event_type  = 0 ) THEN
21 
22 	--what about, if he is trying to log on with same user but on different
23 	--machine/port, In this case it should not delete previous login record
24 	UPDATE MTL_MOBILE_LOGIN_HIST
25 	  SET LOGOFF_DATE = logon_date,
26 	   event_message = 'MWA SERVER EXCEPTION'
27 	  WHERE
28 	  USER_ID = p_user_id
29 	  AND SERVER_MACHINE_NAME = p_server_machine_name
30 	  AND SERVER_PORT_NUMBER = p_server_port_number
31 	  AND LOGOFF_DATE IS NULL;
32 
33 	INSERT INTO MTL_MOBILE_LOGIN_HIST (
34 					   USER_ID,
35 					   LOGON_DATE,
36 					   SERVER_MACHINE_NAME,
37 					   SERVER_PORT_NUMBER,
38 					   CLIENT_MACHINE_NAME,
39 					   CLIENT_PORT_NUMBER
40 					   ) VALUES(
41 						    p_user_id,
42 						    SYSDATE,
43 						    substr(p_server_machine_name,1,95),
44 						    p_server_port_number,
45 						    substr(p_client_machine_name,1,95),
46 						    p_client_port_number);
47       ELSE
48 
49 	UPDATE MTL_MOBILE_LOGIN_HIST SET
50 	  LOGOFF_DATE = SYSDATE,
51 	  EVENT_MESSAGE = p_event_message
52 	  WHERE USER_ID = p_user_id
53 	  AND SERVER_MACHINE_NAME = substr(p_server_machine_name,1,95)
54 	  AND SERVER_PORT_NUMBER = p_server_port_number
55 	  AND LOGOFF_DATE IS NULL;
56      END IF;
57 
58      COMMIT;
59      x_return_status:= 0;
60   EXCEPTION
61      WHEN OTHERS THEN
62        X_RETURN_STATUS := -1;
63   END log_user_info;
64 
65 
66   END INV_MOBILE_LOGIN_INFO_PVT;