[Home] [Help]
PACKAGE BODY: APPS.GHR_SESSION
Source
1 Package Body ghr_session as
2 /* $Header: ghstsess.pkb 120.2 2010/03/15 11:29:01 vmididho noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' ghr_session.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< set_session_var_for_core >------------------------|
10 -- ----------------------------------------------------------------------------
11 ---- Make sure that there is an entry in the fnd_sessions table for the current session
12
13 Procedure set_session_var_for_core
14 (p_effective_date in date
15 )
16 is
17
18 l_exists boolean := FALSE;
19 l_session_var ghr_history_api.g_session_var_type;
20 l_effective_date date;
21 l_session_id fnd_sessions.session_id%type;
22
23 Cursor c_session_id is
24 select userenv('sessionid') sessionid
25 from dual;
26
27 Cursor c_session_data is
28 select effective_date,
29 session_id
30 from fnd_sessions
31 where session_id = l_session_id;
32
33 Begin
34
35 for session_id in C_session_id loop
36 l_session_id := session_id.sessionid;
37 end loop;
38
39 for session in c_session_data loop
40
41 l_exists := TRUE;
42 l_effective_date := session.effective_date;
43 end loop;
44
45 If l_exists then
46
47 If nvl(trunc(l_effective_date),hr_api.g_date) <> p_effective_date then
48 update fnd_sessions
49 set effective_date = p_effective_date
50 where session_id = l_session_id;
51 End if;
52 Else
53 Insert into fnd_sessions
54 (session_id,effective_date)
55 values
56 (l_session_id,p_effective_date);
57 End if;
58
59 -- Set session variables
60
61 ghr_history_api.reinit_g_session_var;
62 l_session_var.program_name := 'core';
63 l_session_var.fire_trigger := 'Y';
64 ghr_history_api.set_g_session_var(l_session_var);
65
66 End set_session_var_for_core;
67
68 --Bug # 6127620
69 Procedure set_fnd_session_date(p_effective_date in date) is
70 l_exists boolean := FALSE;
71 l_effective_date date;
72 l_session_id fnd_sessions.session_id%type;
73
74 Cursor c_session_id is
75 select userenv('sessionid') sessionid
76 from dual;
77
78 Cursor c_session_data is
79 select effective_date,
80 session_id
81 from fnd_sessions
82 where session_id = l_session_id;
83
84 Begin
85
86 for session_id in C_session_id loop
87 l_session_id := session_id.sessionid;
88 end loop;
89
90 for session in c_session_data loop
91
92 l_exists := TRUE;
93 l_effective_date := session.effective_date;
94 end loop;
95
96 If l_exists then
97
98 If nvl(trunc(l_effective_date),hr_api.g_date) <> p_effective_date then
99 update fnd_sessions
100 set effective_date = p_effective_date
101 where session_id = l_session_id;
102 End if;
103 Else
104 Insert into fnd_sessions
105 (session_id,effective_date)
106 values
107 (l_session_id,p_effective_date);
108 End if;
109 end set_fnd_session_date;
110 -- Bug # 6127620
111
112 End ghr_session;