[Home] [Help]
PACKAGE: APPS.FND_OID_UTIL
Source
1 package fnd_oid_util as
2 /* $Header: AFSCOUTS.pls 120.5.12010000.2 2008/11/10 21:11:52 ctilley 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
157 -- End of Package Globals
158 --
159 -------------------------------------------------------------------------------
160 /*
161 ** Name : get_oid_user_name
162 ** Type : Public, FND Internal
163 ** Desc : This function returns OID user name for given GUID
164 ** Pre-Reqs :
165 ** Parameters :
166 ** Notes :
167 */
168 function get_oid_nickname(p_user_guid in fnd_user.user_guid%type)
169 return varchar2;
170 --
171 -------------------------------------------------------------------------------
172 /*
173 ** Name : unbind
174 ** Type : Public, FND Internal
175 ** Desc : This function unbinds an ldap_session
176 ** Pre-Reqs :
177 ** Parameters :
178 ** Notes :
179 */
180 function unbind(p_session in out nocopy dbms_ldap.session) return pls_integer;
181 --
182 -------------------------------------------------------------------------------
183 /*
184 ** Name : get_orclappname
185 ** Type : Public, FND Internal
186 ** Desc : This function returns orclAppName from Workflow
187 ** Pre-Reqs :
188 ** Parameters :
189 ** Notes :
190 */
191 function get_orclappname return varchar2;
192 --
193 -------------------------------------------------------------------------------
194 /*
195 ** Name : entity_changes
196 ** Type : Public, FND Internal
197 ** Desc : This proc "queues" up the user change for OID. Also, detects
198 ** future dated changes and queues real events to pick them up when ready.
199 ** Pre-Reqs :
200 ** Parameters :
201 ** p_userguid -- User GUID as stored in OID.
202 ** Notes : Originally WF_OID.entchanges(p_username in varchar2)
203 */
204 procedure entity_changes(p_username in varchar2);
205 --
206 -------------------------------------------------------------------------------
207 /*
208 ** Name : synch_user_from_LDAP
209 ** Type : Public, FND Internal
210 ** Desc : This procedure takes a fnd_user username as input. It retrieves
211 ** the user information from OID and tries to create a new TCA record. If
212 ** one already exists then it simply updates the existing record.
213 ** Refer to 4325421
214 ** Pre-Reqs :
215 ** Parameters :
216 ** p_user_name: user whose attributes need to be synchronized with TCA
217 ** p_result : result of the operation
218 */
219 procedure synch_user_from_LDAP( p_user_name in fnd_user.user_name%type,
220 p_result out nocopy pls_integer);
221 --
222 -------------------------------------------------------------------------------
223 /*
224 ** Name : synch_user_from_LDAP
225 ** Type : Public, FND Internal
226 ** Desc : This procedure takes a fnd_user username as input. It retrieves
227 ** the user information from OID and tries to create a new TCA record. If
228 ** one already exists then it simply updates the existing record. This procedure
229 ** performs the above in the same transaction.
230 ** Refer to 4325421, 4576676
231 ** Pre-Reqs :
232 ** Parameters :
233 ** p_user_name: user whose attributes need to be synchronized with TCA
234 ** p_result : result of the operation
235 */
236 procedure synch_user_from_LDAP_NO_AUTO( p_user_name in fnd_user.user_name%type,
237 p_result out nocopy pls_integer);
238
239 --
240 -------------------------------------------------------------------------------
241 /*
242 ** Name : on_demand_user_create
243 ** Type : Public, FND Internal
244 ** Desc : This procedure creates a user in fnd_user by invoking the
245 ** fnd_user_pkg api and then raises a business event.
246 ** This procedure is called from the apps success url for creation
247 ** apps user on demand. Refer to 4097060
248 ** Pre-Reqs :
249 ** Parameters :
250 ** p_user_name: user who has to created in apps
251 ** p_userguid: -- User GUID as stored in OID.
252 */
253 procedure on_demand_user_create(p_user_name in varchar2, p_user_guid in varchar2);
254 --
255 -------------------------------------------------------------------------------
256 /*
257 ** Name : get_user_attributes
258 ** Type : Public, FND Internal
259 ** Desc :
260 ** Pre-Reqs :
261 ** Parameters :
262 ** p_userguid -- User GUID as stored in OID.
263 ** p_user_name -- The UID of the user that will be saved as the user_name
264 ** in table fnd_user
265 ** Notes : Originally
266 ** WF_OID.getUserAtts(p_userguid in varchar2) return ldap_attr_list
267 */
268 function get_user_attributes(
269 p_userguid in varchar2
270 , p_user_name out nocopy varchar2
271 ) return ldap_attr_list;
272 --
273 -------------------------------------------------------------------------------
274 /*
275 ** Name : get_ldap_event_str
276 ** Type : Public, FND Internal
277 ** Desc :
278 ** Pre-Reqs :
279 ** Parameters :
280 ** Notes : Originally procedure
281 ** WF_OID.DumpEventHeader(event in ldap_event)
282 */
283 function get_ldap_event_str(p_ldap_event in ldap_event)
284 return varchar2;
285 --
286 -------------------------------------------------------------------------------
287 /*
288 ** Name : get_ldap_attr_str
289 ** Type : Public, FND Internal
290 ** Desc :
291 ** Pre-Reqs :
292 ** Parameters :
293 ** Notes : Originally procedure
294 ** WF_OID.DumpAttribute(attr in ldap_attr)
295 */
296 function get_ldap_attr_str(p_ldap_attr in ldap_attr)
297 return varchar2;
298 --
299 -------------------------------------------------------------------------------
300 /*
301 ** Name : get_ldap_event_status_str
302 ** Type : Public, FND Internal
303 ** Desc :
304 ** Pre-Reqs :
305 ** Parameters :
306 */
307 function get_ldap_event_status_str(p_ldap_event_status in ldap_event_status)
308 return varchar2;
309 --
310 -------------------------------------------------------------------------------
311 /*
312 ** Name : process_identity_add
313 ** Type : Public, FND Internal
314 ** Desc :
315 ** Pre-Reqs :
316 ** Parameters :
317 */
318 procedure process_identity_add(p_event in ldap_event);
319 --
320 -------------------------------------------------------------------------------
321 /*
322 ** Name : process_identity_modify
323 ** Type : Public, FND Internal
324 ** Desc :
325 ** Pre-Reqs :
326 ** Parameters :
327 */
328 procedure process_identity_modify(p_event in ldap_event);
329 --
330 -------------------------------------------------------------------------------
331 /*
332 ** Name : process_identity_delete
333 ** Type : Public, FND Internal
334 ** Desc :
335 ** Pre-Reqs :
336 ** Parameters :
337 */
338 procedure process_identity_delete(p_event in ldap_event);
339 --
340 -------------------------------------------------------------------------------
341 /*
342 ** Name : process_subscription_add
343 ** Type : Public, FND Internal
344 ** Desc :
345 ** Pre-Reqs :
346 ** Parameters :
347 */
348 procedure process_subscription_add(p_event in ldap_event);
349 --
350 -------------------------------------------------------------------------------
351 /*
352 ** Name : process_subscription_delete
353 ** Type : Public, FND Internal
354 ** Desc :
355 ** Pre-Reqs :
356 ** Parameters :
357 */
358 procedure process_subscription_delete(p_event in ldap_event);
359 --
360 -------------------------------------------------------------------------------
361 /*
362 ** Name : process_no_success_event
363 ** Type : Public, FND Internal
364 ** Desc :
365 ** Pre-Reqs :
366 ** Parameters :
367 */
368 procedure process_no_success_event(p_event_status in ldap_event_status);
369 --
370 -------------------------------------------------------------------------------
371 /*
372 ** Name : save_to_cache
373 ** Type : Public, FND Internal
374 ** Desc :
375 ** Pre-Reqs :
376 ** Parameters :
377 */
378 procedure save_to_cache(
379 p_ldap_attr_list in ldap_attr_list
380 , p_entity_type in varchar2
381 , p_entity_key_value in varchar2
382 );
383 --
384 -------------------------------------------------------------------------------
385 /*
389 ** Pre-Reqs :
386 ** Name : get_entity_key_value
387 ** Type : Public, FND Internal
388 ** Desc :
390 ** Parameters :
391 */
392 procedure get_entity_key_value(
393 p_event_id in wf_entity_changes.entity_id%type
394 , p_entity_key_value out nocopy wf_entity_changes.entity_key_value%type
395 );
396 --
397 -------------------------------------------------------------------------------
398 /*
399 ** Name : get_key
400 ** Type : Public, FND Internal
401 ** Desc :
402 ** Pre-Reqs :
403 ** Parameters :
404 */
405 function get_key return varchar2;
406 --
407 -------------------------------------------------------------------------------
408 /*
409 ** Name : get_oid_session
410 ** Type : Public, FND Internal
411 ** Desc :
412 ** Pre-Reqs :
413 ** Parameters :
414 */
415 function get_oid_session
416 return dbms_ldap.session;
417
418 --
419 -------------------------------------------------------------------------------
420 /*
421 ** Name : get_entity_changes_rec_str
422 ** Type : Public, FND Internal
423 ** Desc :
424 ** Pre-Reqs :
425 ** Parameters :
426 */
427 function get_entity_changes_rec_str(
428 p_entity_changes_rec in wf_entity_changes_rec_type)
429 return varchar2;
430
431 --
432 -------------------------------------------------------------------------------
433 /*
434 ** Name : get_fnd_user
435 ** Type : Public, FND Internal
436 ** Desc :
437 ** Pre-Reqs :
438 ** Parameters :
439 */
440 function get_fnd_user(p_user_guid in varchar2)
441 return apps_user_key_type;
442 --
443 -------------------------------------------------------------------------------
444 /*
445 ** Name : person_party_exists
446 ** Type : Public, FND Internal
447 ** Desc :
448 ** Pre-Reqs :
449 ** Parameters :
450 */
451 function person_party_exists(p_user_name in varchar2)
452 return boolean;
453 --
454 -------------------------------------------------------------------------------
455 /*
456 ** Name : get_fnd_user
457 ** Type : Public, FND Internal
458 ** Desc :
459 ** Pre-Reqs :
460 ** Parameters :
461 */
462 function get_fnd_user(p_user_name in varchar2)
463 return apps_user_key_type;
464 --
465 -------------------------------------------------------------------------------
466 /* Name : send_subscription_add_to_OID
467 ** Type : Public FND Internal
468 ** Parameters : p_user_name
469 */
470 procedure send_subscription_add_to_OID
471 (p_orcl_guid fnd_user.user_guid%type);
472 --
473 -------------------------------------------------------------------------------
474 /*
475 ** Name : isUserEnabled
476 ** Type : Public, FND Internal
477 ** Desc : Determines whether OID user is enabled
478 ** Pre-Reqs :
479 ** Parameters : p_ldap_attr_list - attribute list for the user
480 */
481 function isUserEnabled(p_ldap_attr_list in ldap_attr_list)
482 return boolean;
483 --
484 -------------------------------------------------------------------------------
485 /*
486 ** Name : add_user_to_OID_sub_list
487 ** Type : Public, FND Internal
488 ** Desc : Synchronously adds user to the subscription list in OID
489 ** Pre-Reqs :
490 ** Parameters : p_orclguid - GUID of the user
491 ** x_result - fnd_ldap_util.G_SUCCESS if success
492 ** - fnd_ldap_util.G_FAILURE otherwise
493 */
494 procedure add_user_to_OID_sub_list(p_orclguid in fnd_user.user_guid%type,
495 x_result out nocopy pls_integer);
496
497 /*
498 * ** Name : isTCAenabled
499 * ** Type : Public, FND Internal
500 * ** Desc : Determines whether the TCA event is enabled
501 * ** Pre-Reqs :
502 * ** Parameters : p_action - Event action - ADD,MODIFY,DELETE
503 * ** result - TRUE/FALSE
504 * */
505 function isTCAenabled (p_action in varchar2) return boolean;
506 --
507 -------------------------------------------------------------------------------
508 end fnd_oid_util;