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