1 package FND_SESSION_MANAGEMENT AUTHID CURRENT_USER as
2 /* $Header: AFICXSMS.pls 120.6.12020000.2 2012/12/14 20:12:32 ctilley ship $ */
3 /*#
4 * This package provides api's to create/validate icx sessions and api's
5 * to store/retrieve session attribute values.
6 * @rep:scope public
7 * @rep:product FND
8 * @rep:displayname Single Signon Session Management
9 * @rep:lifecycle active
10 * @rep:compatibility S
11 * @rep:category BUSINESS_ENTITY FND_APPS_CTX
12 */
13
14 PV_WEB_USER_ID CONSTANT NUMBER := 10;
15 PV_USER_ID CONSTANT NUMBER := 10;
16 PV_LANGUAGE_CODE CONSTANT NUMBER := 21;
17 PV_DATE_FORMAT CONSTANT NUMBER := 22;
18 PV_SESSION_ID CONSTANT NUMBER := 23;
19 PV_RESPONSIBILITY_ID CONSTANT NUMBER := 24;
20 PV_ORG_ID CONSTANT NUMBER := 29;
21 PV_SESSION_MODE CONSTANT NUMBER := 30;
22 PV_FUNCTION_ID CONSTANT NUMBER := 31;
23 PV_FUNCTION_TYPE CONSTANT NUMBER := 32;
24 PV_USERNAME CONSTANT NUMBER := 99;
25 PV_USER_NAME CONSTANT NUMBER := 99;
26
27
28 -- For passing more meaningful error messages to JAVA
29
30 g_validation_error varchar2(240);
31
32 -- ICX_SESSIONS
33
34 g_session_id number := -1;
35 g_session_mode varchar2(30) := '115X';
36 g_transaction_id number := -1;
37 g_resp_appl_id number := -1;
38 g_responsibility_id number := -1;
39 g_security_group_id number := -1;
40 g_node_id number := -1;
41 g_org_id number := -1;
42 g_function_id number := -1;
43 g_function_type varchar2(30) := '';
44 g_menu_id number := -1;
45 g_page_id number := -1;
46
47 g_mac_key raw(20);
48 g_enc_key raw(32);
49
50 g_user_id number := -1;
51 g_proxy_user_id number := -1;
52 g_language varchar2(30) := 'AMERICAN';
53 g_language_code varchar2(30) := 'US';
54 g_date_format varchar2(80) := 'DD-MON-RRRR';
55 g_date_language varchar2(30) := 'AMERICAN';
56 g_numeric_characters varchar2(30) := '.,';
57 g_nls_sort varchar2(30) := 'BINARY';
58 g_nls_territory varchar2(30) := 'AMERICA';
59 g_login_id NUMBER := -1; -- mputman added 2020952
60 g_prog_appl_id number := -1;
61
62 /* 3152313
63 g_language_c varchar2(30) := null;
64 g_language_code_c varchar2(30) := null;
65 g_date_format_c varchar2(80) := null;
66 g_date_language_c varchar2(30) := null;
67 g_numeric_characters_c varchar2(30) := null;
68 g_nls_sort_c varchar2(30) := null;
69 g_nls_territory_c varchar2(30) := null;
70 */
71
72 g_OA_HTML varchar2(30) := 'OA_HTML';
73 g_OA_MEDIA varchar2(30) := 'OA_MEDIA';
74 g_style_sheet varchar2(30) := 'oracle.css';
75
76 g_mode_code varchar2(30) := null;
77
78 -- ICX_PARAMETERS
79
80 g_home_url varchar2(240) := '';
81 g_webmaster_email varchar2(80) := '';
82 g_query_set number := -1;
83 g_max_rows number := -1;
84 g_session_cookie_name varchar2(81) := '';
85 g_session_cookie_domain varchar2(30) := '';
86
87 g_validateSession_flag boolean := true;
88
89 function NewSessionId return number;
90
91 function NewTransactionId return number;
92
93 function NewTransactionId(p_session_id in number) return number;
94
95 function NewXSID return varchar2;
96
97 procedure newSessionRaiseEvent(p_user_id in varchar2 DEFAULT '-7777',
98 p_session_id in varchar2 DEFAULT '-7777');
99
100
101 procedure validateSession_pragma(p_session_id in number);
102
103
104 function doNewSessionEvent(p_guid in raw,
105 p_evtMsg in out NOCOPY wf_event_t)
106 return VARCHAR2;
107
108 /*#
109 * Creates new icx session and returns session id.
110 * @param p_user_id User Id
111 * @param c_mode_code Mode of the session. Different values for mode are 115P for SSWA, 115J for SSWA with SSO, else 115X.
112 * @param c_sec_grp_id Security Group Id
113 * @param p_server_id Server Id
114 * @param p_home_url Home URL
115 * @param p_language_code Language Code. If passed in and is one of the
116 * installed languages, the language code and nls language settings for the
117 * session to be created will overwrite what's specified in the nls
118 * profiles. The other nls settings will still get their values from the
119 * profiles.
120 * @param p_proxy_user User Id of the Proxy User. It's not null for the
121 * proxy sessions and null for the normal sessions.
122 * @return Session Id
123 * @rep:lifecycle active
124 * @rep:displayname Create new session
125 * @rep:compatibility S
126 */
127 function createSession(p_user_id in number,
128 c_mode_code in varchar2 default '115P',
129 c_sec_grp_id in NUMBER DEFAULT NULL,
130 p_server_id in varchar2 DEFAULT NULL,
131 p_home_url in varchar2 default null,
132 p_language_code in varchar2 default NULL,
133 p_proxy_user in number default null)
134 return number;
135
136 function convertGuestSession(p_user_id in number,
137 p_server_id in varchar2 DEFAULT NULL,
138 p_session_id in varchar2,
139 p_language_code in varchar2 default NULL,
140 c_sec_grp_id in NUMBER DEFAULT NULL,
141 p_home_url in varchar2 default null,
142 p_mode_code in varchar2 default null)
143 return varchar2;
144
145 function createTransaction(p_session_id in number,
146 p_resp_appl_id in number default null,
147 p_responsibility_id in number default null,
148 p_security_group_id in number default null,
149 p_menu_id in number default null,
150 p_function_id in number default null,
151 p_function_type in varchar2 default null,
152 p_page_id in number default null)
153 return number;
154
155 procedure removeTransaction(p_transaction_id in number);
156
157 procedure setSessionPrivate(p_user_id in number,
158 p_responsibility_id in number,
159 p_resp_appl_id in number,
160 p_security_group_id in number,
161 p_date_format in varchar2,
162 p_language in varchar2,
163 p_date_language in varchar2,
164 p_numeric_characters in varchar2,
165 p_nls_sort in varchar2,
166 p_nls_territory in varchar2,
167 p_node_id in number default null);
168
169 procedure initializeSSWAGlobals(p_session_id in number,
170 p_transaction_id in number default NULL,
171 p_resp_appl_id in number default NULL,
172 p_responsibility_id in number default NULL,
173 p_security_group_id in number default NULL,
174 p_function_id in number default NULL);
175
176 function validateSessionPrivate( c_XSID in varchar2,
177 c_function_code in varchar2 default NULL,
178 c_commit in boolean default TRUE,
179 c_update in boolean default TRUE,
180 c_responsibility_id in number default NULL,
181 c_function_id in number default NULL,
182 c_resp_appl_id in number default NULL,
183 c_security_group_id in number default NULL,
184 c_validate_mode_on in varchar2 default 'Y',
185 c_XTID in varchar2 default NULL,
186 session_id out NOCOPY number,
187 transaction_id out NOCOPY number,
188 user_id out NOCOPY number,
189 responsibility_id out NOCOPY number,
190 resp_appl_id out NOCOPY number,
191 security_group_id out NOCOPY number,
192 language_code out NOCOPY varchar2,
193 nls_language out NOCOPY varchar2,
194 date_format_mask out NOCOPY varchar2,
195 nls_date_language out NOCOPY varchar2,
196 nls_numeric_characters out NOCOPY varchar2,
197 nls_sort out NOCOPY varchar2,
198 nls_territory out NOCOPY varchar2)
199 return varchar2;
200
201 function getID( n_param in number,
202 p_session_id in number)
203 return varchar2;
204
205 procedure putSessionAttributeValue(p_name in varchar2,
206 p_value in varchar2,
207 p_session_id in number);
208
209 function getSessionAttributeValue(p_name in varchar2,
210 p_session_id in number)
211 return varchar2;
212
213 procedure clearSessionAttributeValue(p_name in varchar2,
214 p_session_id in number);
215
216 function getsessioncookiename return varchar2;
217
218 procedure updateSessionContext( p_function_name varchar2 default null,
219 p_function_id number default null,
220 p_application_id number,
221 p_responsibility_id number,
222 p_security_group_id number,
223 p_session_id number,
224 p_transaction_id number default null);
225
226 function getNLS_PARAMETER(p_param in VARCHAR2)
227 return varchar2; -- mputman added
228
229 PROCEDURE set_session_nls (p_session_id IN NUMBER,
230 p_language IN VARCHAR2,
231 p_date_format_mask IN VARCHAR2,
232 p_language_code IN VARCHAR2,
233 p_date_language IN VARCHAR2,
234 p_numeric_characters IN VARCHAR2,
235 p_sort IN VARCHAR2,
236 p_territory IN VARCHAR2); --mputman added for AOLJ/CRM
237
238 FUNCTION check_session(p_session_id IN NUMBER,
239 p_resp_id IN NUMBER DEFAULT NULL,
240 p_app_resp_id IN NUMBER DEFAULT NULL,
241 p_tickle IN VARCHAR2 DEFAULT 'Y')
242 RETURN VARCHAR2;
243
244 procedure reset_session(p_session_id in number);
245
246 /*
247 function newLoginId
248 return number;
249 */
250
251 PROCEDURE disableSessions (threshold IN NUMBER);
252
253 function disableUserSession(c_session_id in number,
254 c_user_id in number default null) return BOOLEAN;
255
256 PROCEDURE setUserNLS (p_user_id IN NUMBER,
257 p_language_code IN varchar2 default null,
258 l_language OUT NOCOPY varchar2,
259 l_language_code OUT NOCOPY varchar2,
260 l_date_format OUT NOCOPY varchar2,
261 l_date_language OUT NOCOPY varchar2,
262 l_numeric_characters OUT NOCOPY varchar2,
263 l_nls_sort OUT NOCOPY varchar2,
264 l_nls_territory OUT NOCOPY varchar2,
265 l_limit_time OUT NOCOPY NUMBER,
266 l_limit_connects OUT NOCOPY NUMBER,
267 l_org_id OUT NOCOPY varchar2,
268 l_timeout OUT NOCOPY NUMBER);
269
270 function GET_CACHING_KEY(p_reference_path VARCHAR2) return VARCHAR2;
271
272 -- returns the proxy user id if the session is a proxy session
273 -- returns NULL otherwise
274 -- if p_session_id is null, return the information for the current session
275 /*#
276 * Checks if a given session is proxy session or normal session. Returns
277 * proxy user id if it's a proxy session otherwise retuns null.
278 * @param p_session_id Session Id
279 * @return Proxy User Id if it's a proxy session else, NULL
280 * @rep:lifecycle active
281 * @rep:displayname Check current session for proxy/normal
282 * @rep:compatibility S
283 */
284 function isProxySession(p_session_id in number default null) return number;
285
286 -- *** INTERNAL API to be used by AOL only ***
287 -- The newSSOSession API is to be used to invalidate/timeout SSO sessions
288 -- when limiting SSO users to one session in an EBS instance
289 -- It is similar to the doNewSession API which limits the local ICX
290 -- sessions.
291 PROCEDURE newSSOSession(p_user_id in number default null, p_session_id in number);
292
293 end FND_SESSION_MANAGEMENT;