[Home] [Help]
PACKAGE: APPS.FND_OID_UTIL
Source
1 package fnd_oid_util AUTHID CURRENT_USER as
2 /* $Header: AFSCOUTS.pls 120.8 2012/04/05 00:00:48 jvalenti ship $ */
3 --
4 /*****************************************************************************/
5
6 type ldap_user_type is record (
7 object_name varchar2(1024)
8 , sn varchar2(4000)
9 , cn varchar2(4000)
10 , userPassword varchar2(4000)
11 , telephoneNumber varchar2(4000)
12 , street varchar2(4000)
13 , postalCode varchar2(4000)
14 , physicalDeliveryOfficeName varchar2(4000)
15 , st varchar2(4000)
16 , l varchar2(4000)
17 , displayName varchar2(4000)
18 , givenName varchar2(4000)
19 , homePhone varchar2(4000)
20 , mail varchar2(4000)
21 , c varchar2(4000)
22 , facsimileTelephoneNumber varchar2(4000)
23 , description varchar2(4000)
24 , orclisEnabled varchar2(4000)
25 , orclActiveStartDate varchar2(4000)
26 , orclActiveEndDate varchar2(4000)
27 , orclGUID varchar2(4000)
28 );
29
30 type ldap_message_type is record (
31 object_name varchar2(1024)
32 , sn varchar2(4000)
33 , cn varchar2(4000)
34 , userPassword varchar2(4000)
35 , telephoneNumber varchar2(4000)
36 , street varchar2(4000)
37 , postalCode varchar2(4000)
38 , physicalDeliveryOfficeName varchar2(4000)
39 , st varchar2(4000)
40 , l varchar2(4000)
41 , displayName varchar2(4000)
42 , givenName varchar2(4000)
43 , homePhone varchar2(4000)
44 , mail varchar2(4000)
45 , c varchar2(4000)
46 , facsimileTelephoneNumber varchar2(4000)
47 , description varchar2(4000)
48 , orclisEnabled varchar2(4000)
49 , orclActiveStartDate varchar2(4000)
50 , orclActiveEndDate varchar2(4000)
51 , orclGUID varchar2(4000)
52 );
53
54 type ldap_key_type is record(
55 sn varchar2(4000)
56 , cn varchar2(4000)
57 , orclGUID varchar2(4000)
58 , orclActiveStartDate varchar2(4000)
59 , orclActiveEndDate varchar2(4000)
60 , orclisEnabled varchar2(4000)
61 );
62
63 type apps_sso_user_profiles_type is record (
64 ldap_sync varchar2(1)
65 , local_login varchar2(10)
66 , auto_link varchar2(20)
67 );
68
69 type apps_user_key_type is record (
70 user_guid fnd_user.user_guid%type
71 , user_id fnd_user.user_id%type
72 , user_name fnd_user.user_name%type
73 , person_party_id fnd_user.person_party_id%type
74 );
75
76 type wf_entity_changes_rec_type is record (
77 entity_type wf_entity_changes.entity_type%type
78 , entity_key_value wf_entity_changes.entity_key_value%type
79 , flavor wf_entity_changes.flavor%type
80 , change_date wf_entity_changes.change_date%type
81 , entity_id wf_entity_changes.entity_id%type
82 , change_date_in_char varchar2(30)
83 );
84
85 type wf_attribute_cache_rec_type is record(
86 entity_type wf_attribute_cache.entity_type%type
87 , entity_key_value wf_attribute_cache.entity_key_value%type
88 , attribute_name wf_attribute_cache.attribute_name%type
89 , attribute_value wf_attribute_cache.attribute_value%type
90 , last_update_date wf_attribute_cache.last_update_date%type
91 , change_number wf_attribute_cache.change_number%type
92 , security_group_id wf_attribute_cache.security_group_id%type
93 );
94
95 -- Start of Package Globals
96
97 G_LDAP_MESSAGE_ATTR ldap_message_type;
98
99 G_USERPASSWORD constant varchar2(30) := 'USERPASSWORD';
100 G_ORCLISENABLED constant varchar2(30) := 'ORCLISENABLED';
101 G_OBJECTCLASS constant varchar2(30) := 'OBJECTCLASS';
102 G_ORCLGUID constant varchar2(30) := 'ORCLGUID';
103 G_SN constant varchar2(30) := 'SN';
104 G_CN constant varchar2(30) := 'CN';
105 G_ORCLACTIVESTARTDATE constant varchar2(30) := 'ORCLACTIVESTARTDATE';
106 G_ORCLACTIVEENDDATE constant varchar2(30) := 'ORCLACTIVEENDDATE';
107 G_MAIL constant varchar2(30) := 'MAIL';
108
109 G_APPS_SSO_LDAP_SYNC constant varchar2(30) := 'APPS_SSO_LDAP_SYNC';
110 G_APPS_SSO_LOCAL_LOGIN constant varchar2(30) := 'APPS_SSO_LOCAL_LOGIN';
111 G_APPS_SSO_AUTO_LINK_USER constant varchar2(30) := 'APPS_SSO_AUTO_LINK_USER';
112
113 G_Y constant varchar2(1) := 'Y';
114 G_N constant varchar2(1) := 'N';
115 G_YES constant varchar2(3) := 'YES';
116 G_NO constant varchar2(3) := 'NO';
117
118
119 G_LOCAL constant varchar2(5) := 'LOCAL';
120 G_BOTH constant varchar2(5) := 'BOTH';
121 G_SSO constant varchar2(5) := 'SSO';
122
123 G_USER constant varchar2(4) := 'USER';
124 G_OID constant varchar2(3) := 'OID';
125 G_DELETE constant varchar2(6) := 'DELETE';
126 G_LOAD constant varchar2(4) := 'LOAD';
127
128 G_CACHE_CHANGED constant varchar2(30) := 'CACHE_CHANGED';
129 G_EXTERNAL constant varchar2(30) := 'EXTERNAL';
130
131 G_NULL constant varchar2(30) := '*NULL*';
132 G_DATE_FORMAT constant varchar2(30) := 'YYYYMMDDHH24MISS';
133
134 G_INVALID constant varchar2(30) := 'INVALID';
135 G_DISABLED constant varchar2(30) := 'DISABLED';
136
137 G_EBIZ constant varchar2(30) := 'EBIZ';
138 G_ENABLED constant varchar2(30) := 'ENABLED';
139
140 G_YYYYMMDDHH24MISS constant varchar2(30) := 'YYYYMMDDHH24MISS';
141 G_NOT_FOR_IMPORT constant varchar2(80) :='NOT required for Import';
142
143 G_SUBSCRIPTION_DOT_ADD constant varchar2(30) := 'subscription.add';
144 G_SUBSCRIPTION_DOT_DELETE constant varchar2(30) := 'subscription.delete';
145
146 G_ORACLE_APPS_GLOBAL constant varchar2(80) := 'oracle.apps.fnd.';
147 G_CHANGE_SOURCE constant varchar2(30) := 'CHANGE_SOURCE';
148
149 G_SUCCESS constant varchar2(30) := 'SUCCESS';
150
151 G_CUST constant varchar2(4) := 'CUST';
152
153 event_not_found_exp exception;
154 user_name_null_exp exception;
155 user_guid_null_exp exception;
156 user_subs_data_corrupt_exp exception;
157
158 -- End of Package Globals
159 --
160 -------------------------------------------------------------------------------
161 /*
162 ** Name : get_oid_user_name
163 ** Type : Public, FND Internal
164 ** Desc : This function returns OID user name for given GUID
165 ** Pre-Reqs :
166 ** Parameters :
167 ** Notes :
168 */
169 function get_oid_nickname(p_user_guid in fnd_user.user_guid%type)
170 return varchar2;
171 --
172 -------------------------------------------------------------------------------
173 /*
174 ** Name : unbind
175 ** Type : Public, FND Internal
176 ** Desc : This function unbinds an ldap_session
177 ** Pre-Reqs :
178 ** Parameters :
179 ** Notes :
180 */
181 function unbind(p_session in out nocopy dbms_ldap.session) return pls_integer;
182 --
183 -------------------------------------------------------------------------------
184 /*
185 ** Name : get_orclappname
186 ** Type : Public, FND Internal
187 ** Desc : This function returns orclAppName from Workflow
188 ** Pre-Reqs :
189 ** Parameters :
190 ** Notes :
191 */
192 function get_orclappname return varchar2;
193 --
194 -------------------------------------------------------------------------------
195 /*
196 ** Name : entity_changes
197 ** Type : Public, FND Internal
198 ** Desc : This proc "queues" up the user change for OID. Also, detects
199 ** future dated changes and queues real events to pick them up when ready.
200 ** Pre-Reqs :
201 ** Parameters :
202 ** p_userguid -- User GUID as stored in OID.
203 ** Notes : Originally WF_OID.entchanges(p_username in varchar2)
204 */
205 procedure entity_changes(p_username in varchar2);
206 --
207 -------------------------------------------------------------------------------
208 /*
209 ** Name : synch_user_from_LDAP
210 ** Type : Public, FND Internal
211 ** Desc : This procedure takes a fnd_user username as input. It retrieves
212 ** the user information from OID and tries to create a new TCA record. If
213 ** one already exists then it simply updates the existing record.
214 ** Refer to 4325421
215 ** Pre-Reqs :
216 ** Parameters :
217 ** p_user_name: user whose attributes need to be synchronized with TCA
218 ** p_result : result of the operation
219 */
220 procedure synch_user_from_LDAP( p_user_name in fnd_user.user_name%type,
221 p_result out nocopy pls_integer);
222 --
223 -------------------------------------------------------------------------------
224 /*
225 ** Name : synch_user_from_LDAP
226 ** Type : Public, FND Internal
227 ** Desc : This procedure takes a fnd_user username as input. It retrieves
228 ** the user information from OID and tries to create a new TCA record. If
229 ** one already exists then it simply updates the existing record. This procedure
230 ** performs the above in the same transaction.
231 ** Refer to 4325421, 4576676
232 ** Pre-Reqs :
233 ** Parameters :
234 ** p_user_name: user whose attributes need to be synchronized with TCA
235 ** p_result : result of the operation
236 */
237 procedure synch_user_from_LDAP_NO_AUTO( p_user_name in fnd_user.user_name%type,
238 p_result out nocopy pls_integer);
239
240 --
241 -------------------------------------------------------------------------------
242 /*
243 ** Name : on_demand_user_create
244 ** Type : Public, FND Internal
245 ** Desc : This procedure creates a user in fnd_user by invoking the
246 ** fnd_user_pkg api and then raises a business event.
247 ** This procedure is called from the apps success url for creation
248 ** apps user on demand. Refer to 4097060
249 ** Pre-Reqs :
250 ** Parameters :
251 ** p_user_name: user who has to created in apps
252 ** p_userguid: -- User GUID as stored in OID.
253 */
254 procedure on_demand_user_create(p_user_name in varchar2, p_user_guid in varchar2);
255 --
256 -------------------------------------------------------------------------------
257 /*
258 ** Name : get_user_attributes
259 ** Type : Public, FND Internal
260 ** Desc :
261 ** Pre-Reqs :
262 ** Parameters :
263 ** p_userguid -- User GUID as stored in OID.
264 ** p_user_name -- The UID of the user that will be saved as the user_name
265 ** in table fnd_user
266 ** Notes : Originally
267 ** WF_OID.getUserAtts(p_userguid in varchar2) return ldap_attr_list
268 */
269 function get_user_attributes(
270 p_userguid in varchar2
271 , p_user_name out nocopy varchar2
272 ) return ldap_attr_list;
273 --
274 -------------------------------------------------------------------------------
275 /*
276 ** Name : get_ldap_event_str
277 ** Type : Public, FND Internal
278 ** Desc :
279 ** Pre-Reqs :
280 ** Parameters :
281 ** Notes : Originally procedure
282 ** WF_OID.DumpEventHeader(event in ldap_event)
283 */
284 function get_ldap_event_str(p_ldap_event in ldap_event)
285 return varchar2;
286 --
287 -------------------------------------------------------------------------------
288 /*
289 ** Name : get_ldap_attr_str
290 ** Type : Public, FND Internal
291 ** Desc :
292 ** Pre-Reqs :
293 ** Parameters :
294 ** Notes : Originally procedure
295 ** WF_OID.DumpAttribute(attr in ldap_attr)
296 */
297 function get_ldap_attr_str(p_ldap_attr in ldap_attr)
298 return varchar2;
299 --
300 -------------------------------------------------------------------------------
301 /*
302 ** Name : get_ldap_event_status_str
303 ** Type : Public, FND Internal
304 ** Desc :
305 ** Pre-Reqs :
306 ** Parameters :
307 */
308 function get_ldap_event_status_str(p_ldap_event_status in ldap_event_status)
309 return varchar2;
310 --
311 -------------------------------------------------------------------------------
312 /*
313 ** Name : process_identity_add
314 ** Type : Public, FND Internal
315 ** Desc :
316 ** Pre-Reqs :
317 ** Parameters :
318 */
319 procedure process_identity_add(p_event in ldap_event);
320 --
321 -------------------------------------------------------------------------------
322 /*
323 ** Name : process_identity_modify
324 ** Type : Public, FND Internal
325 ** Desc :
326 ** Pre-Reqs :
327 ** Parameters :
328 */
329 procedure process_identity_modify(p_event in ldap_event);
330 --
331 -------------------------------------------------------------------------------
332 /*
333 ** Name : process_identity_delete
334 ** Type : Public, FND Internal
335 ** Desc :
336 ** Pre-Reqs :
337 ** Parameters :
338 */
339 procedure process_identity_delete(p_event in ldap_event);
340 --
341 -------------------------------------------------------------------------------
342 /*
346 ** Pre-Reqs :
343 ** Name : process_subscription_add
344 ** Type : Public, FND Internal
345 ** Desc :
347 ** Parameters :
348 */
349 procedure process_subscription_add(p_event in ldap_event);
350 --
351 -------------------------------------------------------------------------------
352 /*
353 ** Name : process_subscription_delete
354 ** Type : Public, FND Internal
355 ** Desc :
356 ** Pre-Reqs :
357 ** Parameters :
358 */
359 procedure process_subscription_delete(p_event in ldap_event);
360 --
361 -------------------------------------------------------------------------------
362 /*
363 ** Name : process_no_success_event
364 ** Type : Public, FND Internal
365 ** Desc :
366 ** Pre-Reqs :
367 ** Parameters :
368 */
369 procedure process_no_success_event(p_event_status in ldap_event_status);
370 --
371 -------------------------------------------------------------------------------
372 /*
373 ** Name : save_to_cache
374 ** Type : Public, FND Internal
375 ** Desc :
376 ** Pre-Reqs :
377 ** Parameters :
378 */
379 procedure save_to_cache(
380 p_ldap_attr_list in ldap_attr_list
381 , p_entity_type in varchar2
382 , p_entity_key_value in varchar2
383 );
384 --
385 -------------------------------------------------------------------------------
386 /*
387 ** Name : get_entity_key_value
388 ** Type : Public, FND Internal
389 ** Desc :
390 ** Pre-Reqs :
391 ** Parameters :
392 */
393 procedure get_entity_key_value(
394 p_event_id in wf_entity_changes.entity_id%type
395 , p_entity_key_value out nocopy wf_entity_changes.entity_key_value%type
396 );
397 --
398 -------------------------------------------------------------------------------
399 /*
400 ** Name : get_key
401 ** Type : Public, FND Internal
402 ** Desc :
403 ** Pre-Reqs :
404 ** Parameters :
405 */
406 function get_key return varchar2;
407 --
408 -------------------------------------------------------------------------------
409 /*
410 ** Name : get_oid_session
411 ** Type : Public, FND Internal
412 ** Desc :
413 ** Pre-Reqs :
414 ** Parameters :
415 */
416 function get_oid_session
417 return dbms_ldap.session;
418
419 --
420 -------------------------------------------------------------------------------
421 /*
422 ** Name : get_entity_changes_rec_str
423 ** Type : Public, FND Internal
424 ** Desc :
425 ** Pre-Reqs :
426 ** Parameters :
427 */
428 function get_entity_changes_rec_str(
429 p_entity_changes_rec in wf_entity_changes_rec_type)
430 return varchar2;
431
432 --
433 -------------------------------------------------------------------------------
434 /*
435 ** Name : get_fnd_user
436 ** Type : Public, FND Internal
437 ** Desc :
438 ** Pre-Reqs :
439 ** Parameters :
440 */
441 function get_fnd_user(p_user_guid in varchar2)
442 return apps_user_key_type;
443 --
444 -------------------------------------------------------------------------------
445 /*
446 ** Name : person_party_exists
447 ** Type : Public, FND Internal
448 ** Desc :
449 ** Pre-Reqs :
450 ** Parameters :
451 */
452 function person_party_exists(p_user_name in varchar2)
453 return boolean;
454 --
455 -------------------------------------------------------------------------------
456 /*
457 ** Name : get_fnd_user
458 ** Type : Public, FND Internal
459 ** Desc :
460 ** Pre-Reqs :
461 ** Parameters :
462 */
463 function get_fnd_user(p_user_name in varchar2)
464 return apps_user_key_type;
465 --
466 -------------------------------------------------------------------------------
467 /* Name : send_subscription_add_to_OID
468 ** Type : Public FND Internal
469 ** Parameters : p_user_name
470 */
471 procedure send_subscription_add_to_OID
472 (p_orcl_guid fnd_user.user_guid%type);
473 --
474 -------------------------------------------------------------------------------
475 /*
476 ** Name : isUserEnabled
477 ** Type : Public, FND Internal
478 ** Desc : Determines whether OID user is enabled
479 ** Pre-Reqs :
480 ** Parameters : p_ldap_attr_list - attribute list for the user
481 */
482 function isUserEnabled(p_ldap_attr_list in ldap_attr_list)
483 return boolean;
484 --
485 -------------------------------------------------------------------------------
486 /*
487 ** Name : add_user_to_OID_sub_list
488 ** Type : Public, FND Internal
489 ** Desc : Synchronously adds user to the subscription list in OID
490 ** Pre-Reqs :
491 ** Parameters : p_orclguid - GUID of the user
492 ** x_result - fnd_ldap_util.G_SUCCESS if success
493 ** - fnd_ldap_util.G_FAILURE otherwise
494 */
495 procedure add_user_to_OID_sub_list(p_orclguid in fnd_user.user_guid%type,
496 x_result out nocopy pls_integer);
497
498 /*
499 * ** Name : isTCAenabled
500 * ** Type : Public, FND Internal
501 * ** Desc : Determines whether the TCA event is enabled
505 * */
502 * ** Pre-Reqs :
503 * ** Parameters : p_action - Event action - ADD,MODIFY,DELETE
504 * ** result - TRUE/FALSE
506 function isTCAenabled (p_action in varchar2) return boolean;
507 --
508 -------------------------------------------------------------------------------
509 end fnd_oid_util;