DBA Data[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;