DBA Data[Home] [Help]

PACKAGE: APPS.WF_DIRECTORY

Source


1 package Wf_Directory AUTHID CURRENT_USER as
2 /* $Header: wfdirs.pls 120.12.12010000.5 2010/05/07 16:09:32 alsosa ship $ */
3 /*#
4  * Provides APIs that can be
5  * called by an application program or a workflow
6  * function in the runtime phase to retrieve information
7  * about existing users and roles, as well as to create
8  * and manage new ad hoc users and roles in the
9  * directory service.
10  * @rep:scope public
11  * @rep:product OWF
12  * @rep:displayname Workflow Directory Services
13  * @rep:lifecycle active
14  * @rep:compatibility S
15  * @rep:category BUSINESS_ENTITY WF_USER
16  * @rep:ihelp FND/@a_ds See the related online help
17  */
18 
19 type UserTable is table of varchar2(320)
20   index by binary_integer;
21 
22 type RoleTable is table of varchar2(320)
23   index by binary_integer;
24 
25 type OrigSysTable is table of varchar2(30) index by binary_integer;
26 
27 /*===========================================================================
28 
29   PL*SQL TABLE NAME:    wf_local_roles_tble_type
30 
31   DESCRIPTION:          Stores a list of attributes from
32                         WF_LOCAL_ROLES
33 
34 ============================================================================*/
35 
36 TYPE wf_local_roles_rec_type IS RECORD
37 (
38  NAME                            VARCHAR2(320),
39  DISPLAY_NAME                    VARCHAR2(360),
40  DESCRIPTION                     VARCHAR2(1000),
41  NOTIFICATION_PREFERENCE         VARCHAR2(8),
42  LANGUAGE                        VARCHAR2(64),
43  TERRITORY                       VARCHAR2(64),
44  NLS_DATE_FORMAT                 varchar2(64), -- <7578908> full NLS support
45  NLS_DATE_LANGUAGE               varchar2(64),
46  NLS_CALENDAR                    varchar2(64),
47  NLS_NUMERIC_CHARACTERS          varchar2(64),
48  NLS_SORT                        varchar2(64),
49  NLS_CURRENCY                    varchar2(64), -- </7578908>
50  EMAIL_ADDRESS                   VARCHAR2(320),
51  FAX                             VARCHAR2(240),
52  STATUS                          VARCHAR2(8),
53  EXPIRATION_DATE                 DATE,
54  ORIG_SYSTEM                     VARCHAR2(240),
55  ORIG_SYSTEM_ID                  NUMBER,
56  PARENT_ORIG_SYSTEM              VARCHAR2(240),
57  PARENT_ORIG_SYSTEM_ID           NUMBER,
58  OWNER_TAG                       VARCHAR2(50),
59  LAST_UPDATE_DATE                DATE,
60  LAST_UPDATED_BY                 NUMBER(15),
61  CREATION_DATE                   DATE,
62  CREATED_BY                      NUMBER(15),
63  LAST_UPDATE_LOGIN               NUMBER(15)
64 );
65 
66 TYPE wf_local_roles_tbl_type IS TABLE OF
67   wf_directory.wf_local_roles_rec_type
68 INDEX BY BINARY_INTEGER;
69 
70 /*#
71  * Returns a table of the users
72  * that belong to the specified role.
73  * @param role Role
74  * @param users Users
75  * @rep:scope public
76  * @rep:lifecycle active
77  * @rep:displayname Get Role Users
78  * @rep:ihelp FND/@a_ds#a_getru See the related online help
79  */
80 
81 procedure GetRoleUsers(
82   Role in varchar2,
83   Users out nocopy Wf_Directory.UserTable);
84 
85 procedure GetUserRelation(
86   Base_User in varchar2,
87   Relation in varchar2,
88   Users out nocopy Wf_Directory.UserTable);
89 
90 /*#
91  * Returns a table of the roles to which
92  * the specified user belongs.
93  * @param user User
94  * @param roles Roles
95  * @rep:scope public
96  * @rep:lifecycle active
97  * @rep:displayname Get User Roles
98  * @rep:ihelp FND/@a_ds#a_getur See the related online help
99  */
100 
101 procedure GetUserRoles(
102   User in varchar2,
103   Roles out nocopy Wf_Directory.RoleTable);
104 
105 /*#
106  * Returns the display name,
107  * email address, notification preference, language and
108  * territory for the specified role.
109  * @param role Role
110  * @param display_name Display Name
111  * @param email_address E-mail Address
112  * @param notification_preference Notification Preference
113  * @param language Language
114  * @param territory Territory
115  * @rep:scope public
116  * @rep:lifecycle active
117  * @rep:displayname Get Role Info
118  * @rep:ihelp FND/@a_ds#a_getrinf See the related online help
119  */
120 
121 procedure GetRoleInfo(
122   Role in varchar2,
123   Display_Name out nocopy varchar2,
124   Email_Address out nocopy varchar2,
125   Notification_Preference out nocopy varchar2,
126   Language out nocopy varchar2,
127   Territory out nocopy varchar2);
128 
129 /*#
130  * Returns information about the specified role in a PL/SQL table,
131  * including the role's internal name, display name, description,
132  * notification preference, e-mail address,
133  * fax, status, expiration date, originating system,
134  * originating system ID, parent originating system,
135  * parent originating system ID, owner tag, NLS parameters
136  * (NLS_LANGUAGE, NLS_TERRITORY, NLS_DATE_FORMAT, NLS_DATE_LANGUAGE,
137  * NLS_CALENDAR, NLS_NUMERIC_CHARACTERS, NLS_SORT, and NLS_CURRENCY),
138  * and standard Who columns.
139  * @param role Role
140  * @param Role_Info_Tbl Role Info Table
141  * @rep:scope public
142  * @rep:lifecycle active
143  * @rep:displayname Get Role Info Table
144  * @rep:ihelp FND/@a_ds#a_getrinf2 See the related online help
145  */
146 
147 
148 procedure GetRoleInfo2(
149   Role in varchar2,
150   Role_Info_Tbl out nocopy wf_directory.wf_local_roles_tbl_type);
151 
152 procedure GetRoleInfoMail(
153   role in varchar2,
154   display_name out nocopy varchar2,
155   email_address out nocopy varchar2,
156   notification_preference out nocopy varchar2,
157   language out nocopy varchar2,
158   territory out nocopy varchar2,
159   orig_system out nocopy varchar2,
160   orig_system_id out nocopy number,
161   installed_flag out nocopy varchar2);
162 
163   /* (private)
164    *
165    * Returns role attributes for the given role. NLS attribute values are obtained
166    * from EBS profile values when the role orig system is either FND_USR or PER.
167    * Created for phase 1 of full NLS support changes, bug 7578908.
168    */
169   procedure GetRoleInfoMail2( p_role in varchar2,
170                               p_display_name out NOCOPY varchar2,
171                               p_email_address out NOCOPY varchar2,
172                               p_notification_preference out NOCOPY varchar2,
173                               p_orig_system out NOCOPY varchar2,
174                               p_orig_system_id out NOCOPY number,
175                               p_installed_flag out NOCOPY varchar2
176                             , p_nlsLanguage out NOCOPY varchar2,
177                               p_nlsTerritory out NOCOPY varchar2
178                             , p_nlsDateFormat out NOCOPY varchar2
179                             , p_nlsDateLanguage out NOCOPY varchar2
180                             , p_nlsCalendar out NOCOPY varchar2
181                             , p_nlsNumericCharacters out NOCOPY varchar2
182                             , p_nlsSort out NOCOPY varchar2
183                             , p_nlsCurrency out NOCOPY varchar2);
184 --
185 -- GetRoleOrigSysInfo (PRIVATE)
186 -- Used by Workflow Internal Only
187 --
188 procedure GetRoleOrigSysInfo(
189   Role in varchar2,
190   Orig_System out nocopy varchar2,
191   Orig_System_Id out nocopy number);
192 
193 --
194 -- GetRolePartitionInfo (PRIVATE)
195 -- Used by Workflow Internal Only
196 --
197 procedure GetRolePartitionInfo(
198   role in varchar2,
199   partition_id out nocopy number,
200   orig_system out nocopy varchar2,
201   display_name out nocopy varchar2);
202 
203 --
204 -- GetRoleNtfPref (PRIVATE)
205 -- Used by Workflow Internal
206 -- To obtain notification preference
207 -- for a given role
208 
209 function GetRoleNtfPref(
210   Role in varchar2)
211 return varchar2;
212 
213 /*#
214  * Returns TRUE or FALSE to identify
215  * whether the specified user is a performer of
216  * the specified role.
217  * @param user User
218  * @param role Role
219  * @return Is Performer
220  * @rep:scope public
221  * @rep:lifecycle active
222  * @rep:displayname Is Performer
223  * @rep:ihelp FND/@a_ds#a_isperf See the related online help
224  */
225 
226 function IsPerformer(
227     User in varchar2,
228     Role in varchar2)
229 return boolean;
230 
231 function CurrentUser
232 return varchar2;
233 --
234 -- Function determins if a user is currently active
235 -- and therefore available to participate in a workflow
236 --  In :
237 --      Username
238 -- Returns:
239 --      True  - If user is Active
240 --      False - If User is NOT Active
241 --
242 /*#
243  * Returns TRUE or FALSE to identify whether
244  * the specified user currently has a status of 'ACTIVE'
245  * and is available to participate
246  * in a workflow
247  * @param username User Name
248  * @return Is Active
249  * @rep:scope public
250  * @rep:lifecycle active
251  * @rep:displayname User Active
252  * @rep:ihelp FND/@a_ds#a_usract See the related online help
253  */
254 
255 function UserActive(username in varchar2)
256 return boolean;
257 
258 --  RoleActive
259 --  Scope: public internal
260 --  Returns TRUE or FALSE to say if a user or role is active
261 --  Internally calls UserActive
262 --  IN
263 --    rolename
264 --  RETURN:
265 --   True  - If user or role is Active
266 --   False - If User or role is NOT Active
267 function RoleActive(p_rolename in varchar2)
268 return boolean;
269 
270 --
271 -- Procedure Gets the User_name given the orig system info
272 --   Get the username
273 -- IN:
274 --      orig_system     - Code identifying the original table
275 --      orig_system_id  - Id of the row in original table
276 -- Returns:
277 --      user_name       - Workflow user_name
278 --
279 /*#
280  * Returns the Workflow display name and internal name
281  * for a user given the identifying information for that
282  * user in the directory repository from which it originated.
283  * @param p_orig_system Originating System
284  * @param p_orig_system_id Originating System ID
285  * @param p_name Name
286  * @param p_display_name Display Name
287  * @rep:scope public
288  * @rep:lifecycle active
289  * @rep:displayname Get User Name
290  * @rep:ihelp FND/@a_ds#a_getun See the related online help
291  */
292 
293 procedure GetUserName ( p_orig_system           in varchar2,
294                         p_orig_system_id        in varchar2,
295                         p_name                  out nocopy varchar2,
296                         p_display_name          out nocopy varchar2 );
297 --
298 --
299 --
300 -- Procedure Gets the Role_name given the orig system info
301 --   Get the Role name
302 -- IN:
303 --      orig_system     - Code identifying the original table
304 --      orig_system_id  - Id of the row in original table
305 -- Returns:
306 --      Role_name       - Workflow role_name
307 --
308 /*#
309  * Returns the  Workflow display name
310  * and internal name for a role given the
311  * identifying information for that role in the
312  * directory repository from which it originated.
313  * @param p_orig_system Originating System
314  * @param p_orig_system_id Originating System ID
315  * @param p_name Name
316  * @param p_display_name Display Name
317  * @rep:scope public
318  * @rep:lifecycle active
319  * @rep:displayname Get Role Name
320  * @rep:ihelp FND/@a_ds#a_grname See the related online help
321  */
322 
323 procedure GetRoleName ( p_orig_system           in varchar2,
324                         p_orig_system_id        in varchar2,
325                         p_name                  out nocopy varchar2,
326                         p_display_name          out nocopy varchar2 );
327 --
328 /*#
329  * Returns a Workflow role's display
330  * name given an active role's internal name.
331  * @param p_role_name Role Name
332  * @return Display Name
333  * @rep:scope public
334  * @rep:lifecycle active
335  * @rep:displayname Get Active Role Display Name
336  * @rep:ihelp FND/@a_ds#a_grdname See the related online help
337  */
338 
339 function GetRoleDisplayName(p_role_name in varchar2)
340 return varchar2;
341 pragma restrict_references(GetRoleDisplayName, WNDS, WNPS);
342 
343 /*#
344  * Returns Workflow role's display
345  * name given the role's internal name(active/inactive).
346  * @param p_role_name Role Name
347  * @return Display Name
348  * @rep:scope public
349  * @rep:lifecycle active
350  * @rep:displayname Get Role Display Name
351  * @rep:ihelp FND/@a_ds#a_grdname See the related online help
352  */
353 
354 function GetRoleDisplayName2(p_role_name in varchar2)
355 return varchar2;
356 pragma restrict_references(GetRoleDisplayName2, WNDS, WNPS);
357 --
358 --
359 
360 --
361 -- SetAdHocUserStatus
362 --   Update status for user
363 -- IN
364 --   user_name        -
365 --   status           - status could be 'ACTIVE' or 'INACTIVE'
366 -- OUT
367 --
368 /*#
369  * Sets the status of an ad hoc user
370  * as 'ACTIVE' or 'INACTIVE'.
371  * @param user_name User Name
372  * @param status Status
373  * @rep:scope public
374  * @rep:lifecycle active
375  * @rep:displayname Set Ad Hoc User Status
376  * @rep:ihelp FND/@a_ds#a_sahust See the related online help
377  */
378 
379 procedure SetAdHocUserStatus(user_name      in varchar2,
380                         status         in varchar2 default 'ACTIVE');
381 
382 --
383 -- SetAdHocRoleStatus
384 --   Update status for role
385 -- IN
386 --   role_name        -
387 --   status           - status could be 'ACTIVE' or 'INACTIVE'
388 -- OUT
389 --
390 /*#
391  * Sets the status of an ad hoc role as
392  * 'ACTIVE' or 'INACTIVE'.
393  * @param role_name Role Name
394  * @param status Status
395  * @rep:scope public
396  * @rep:lifecycle active
397  * @rep:displayname Set Ad Hoc Role Status
398  * @rep:ihelp FND/@a_ds#a_sahrs See the related online help
399  */
400 
401 procedure SetAdHocRoleStatus(role_name      in varchar2,
405 
402                         status         in varchar2 default 'ACTIVE');
403 
404 
406 --
407 -- CreateUser (PRIVATE)
408 --   Create a User
409 -- IN
410 --   name          - User name
411 --   display_name  - User display name
412 --   orig_system
413 --   orig_system_id
414 --   language      -
415 --   territory     -
416 --   description   -
417 --   notification_preference -
418 --   email_address -
419 --   fax           -
420 --   status        -
421 --   expiration_date - NULL expiration date means no expiration
422 --   start_date
423 --   parent_orig_system
424 --   parent_orig_system_id
425 --   owner_tag -
426 --   last_update_date -
427 --   last_updated_by -
428 --   creation_date -
429 --   created_by -
430 --   last_update_login
431 -- OUT
432 --
433 procedure CreateUser( name                    in  varchar2,
434                       display_name            in  varchar2,
435                       orig_system             in  varchar2,
436                       orig_system_id          in  number,
437                       language                in  varchar2 default null,
438                       territory               in  varchar2 default null,
439                       description             in  varchar2 default null,
440                       notification_preference in  varchar2 default 'MAILHTML',
441                       email_address           in  varchar2 default null,
442                       fax                     in  varchar2 default null,
443                       status                  in  varchar2 default 'ACTIVE',
444                       expiration_date         in  date     default NULL,
445                       start_date              in  date     default sysdate,
446                       parent_orig_system      in  varchar2 default null,
447                       parent_orig_system_id   in  number   default null,
448                       owner_tag               in  varchar2 default null,
449                       last_update_date        in  date     default sysdate,
450                       last_updated_by         in  number   default null,
451                       creation_date           in  date     default sysdate,
452                       created_by              in  number   default null,
453                       last_update_login       in  number   default null);
454 
455 
456 --
457 -- CreateAdHocUser
458 --   Create an ad hoc user given a user name, display name, etc.
459 -- IN
460 --   name          - User name
461 --   display_name  - User display name
462 --   description   -
463 --   notification_preference -
464 --   language      -
465 --   territory     -
466 --   email_address -
467 --   fax           -
468 --   status        -
469 --   expiration_date - NULL expiration date means no expiration
470 -- OUT
471 --
472 /*#
473  * Creates a user in the Workflow local directory service tables
474  * at runtime. This is referred to as an ad hoc user.
475  * @param name Name
476  * @param display_name Display Name
477  * @param language Language
478  * @param territory Territory
479  * @param description Description
480  * @param notification_preference Notification Preference
481  * @param email_address Email Address
482  * @param fax Fax
483  * @param status Status
484  * @param expiration_date Expiration Date
485  * @param parent_orig_system Parent Originating System
486  * @param parent_orig_system_id Parent Originating System ID
487  * @rep:scope public
488  * @rep:lifecycle active
489  * @rep:displayname Create Ad Hoc User
490  * @rep:ihelp FND/@a_ds#a_crahu See the related online help
491  */
492 
493 procedure CreateAdHocUser(name                in out nocopy varchar2,
494                       display_name            in out nocopy  varchar2,
495                       language                in  varchar2 default null,
496                       territory               in  varchar2 default null,
497                       description             in  varchar2 default null,
498                       notification_preference in varchar2 default null,
499                       email_address           in  varchar2 default null,
500                       fax                     in  varchar2 default null,
501                       status                  in  varchar2 default 'ACTIVE',
502                       expiration_date         in  date default null,
503                       parent_orig_system      in varchar2 default null,
504                       parent_orig_system_id   in number   default null);
505 
506 
507 --
508 -- CreateRole (PRIVATE)
509 --   Create an ad hoc role given a specific name
510 -- IN
511 --   role_name          -
512 --   role_display_name  -
513 --   role_description   -
514 --   notification_preference -
515 --   language      -
516 --   territory     -
517 --   email_address -
518 --   fax           -
519 --   status        -
520 --   expiration_date   - Null means no expiration date
521 --   orig_system   -
522 --   orig_system_id
523 -- OUT
524 --
525 procedure CreateRole( role_name               in  varchar2,
526                       role_display_name       in  varchar2,
527                       orig_system             in  varchar2,
528                       orig_system_id          in  number,
529                       language                in  varchar2 default null,
533                       email_address           in  varchar2 default null,
530                       territory               in  varchar2 default null,
531                       role_description        in  varchar2 default null,
532                       notification_preference in  varchar2 default null,
534                       fax                     in  varchar2 default null,
535                       status                  in  varchar2 default 'ACTIVE',
536                       expiration_date         in  date default NULL,
537                       start_date              in  date default sysdate,
538                       parent_orig_system      in  varchar2 default null,
539                       parent_orig_system_id   in  number   default null,
540                       owner_tag               in  varchar2 default null,
541                       last_update_date        in  date     default sysdate,
542                       last_updated_by         in  number   default null,
543                       creation_date           in  date     default sysdate,
544                       created_by              in  number   default null,
545                       last_update_login       in  number   default null);
546 
547 
548 
549 
550 --
551 -- CreateAdHocRole
552 --   Create an ad hoc role given a specific name
553 -- IN
554 --   role_name          -
555 --   role_display_name  -
556 --   role_description   -
557 --   notification_preference -
558 --   role_users         - Comma or space delimited list
559 --   language      -
560 --   territory     -
561 --   email_address -
562 --   fax           -
563 --   status        -
564 --   expiration_date   - Null means no expiration date
565 -- OUT
566 --
567 /*#
568  * Creates a role in the Workflow local directory
569  * service tables at runtime. This is referred to as an
570  * ad hoc role.
571  * @param role_name Role Name
572  * @param role_display_name Role Display Name
573  * @param language Language
574  * @param territory Territory
575  * @param role_description Role Description
576  * @param notification_preference Notification Preference
577  * @param role_users Role Users
578  * @param email_address Email Address
579  * @param fax Fax
580  * @param status Status
581  * @param expiration_date Expiration Date
582  * @param parent_orig_system Parent Originating System
583  * @param parent_orig_system_id Parent Originating System ID
584  * @param owner_tag Owner Tag
585  * @rep:scope public
586  * @rep:lifecycle active
587  * @rep:displayname Create Ad Hoc Role
588  * @rep:ihelp FND/@a_ds#a_crahr See the related online help
589  */
590 
591 procedure CreateAdHocRole(role_name           in out nocopy varchar2,
592                       role_display_name       in out nocopy  varchar2,
593                       language                in  varchar2 default null,
594                       territory               in  varchar2 default null,
595                       role_description        in  varchar2 default null,
596                       notification_preference in varchar2 default null,
597                       role_users              in  varchar2 default null,
598                       email_address           in  varchar2 default null,
599                       fax                     in  varchar2 default null,
600                       status                  in  varchar2 default 'ACTIVE',
601                       expiration_date         in  date default null,
602                       parent_orig_system      in varchar2 default null,
603                       parent_orig_system_id   in number default null,
604                       owner_tag               in  varchar2 default null);
605 
606 
607 
608 --
609 -- CreateAdHocRole2
610 --   Create an ad hoc role given a specific name
611 -- IN
612 --   role_name          -
613 --   role_display_name  -
614 --   role_description   -
615 --   notification_preference -
616 --   role_users         - Comma or space delimited list
617 --   language      -
618 --   territory     -
619 --   email_address -
623 -- OUT
620 --   fax           -
621 --   status        -
622 --   expiration_date   - Null means no expiration date
624 --
625 procedure CreateAdHocRole2(role_name          in out nocopy varchar2,
626                       role_display_name       in out nocopy  varchar2,
627                       language                in  varchar2 default null,
628                       territory               in  varchar2 default null,
629                       role_description        in  varchar2 default null,
630                       notification_preference in  varchar2 default null,
631                       role_users              in  WF_DIRECTORY.UserTable,
632                       email_address           in  varchar2 default null,
633                       fax                     in  varchar2 default null,
634                       status                  in  varchar2 default 'ACTIVE',
635                       expiration_date         in  date default null,
636                       parent_orig_system      in  varchar2 default null,
637                       parent_orig_system_id   in  number default null,
638                       owner_tag               in  varchar2 default null);
639 
640 
641 --
642 -- CreateUserRole (PRIVATE)
643 --   Create a user to role relationship.
644 -- IN
645 --   user_name -
646 --   role_name -
647 --   user_orig_system -
648 --   user_orig_system_id -
649 --   role_orig_system -
650 --   role_orig_system_id -
651 --
652 procedure CreateUserRole(user_name             in varchar2,
653                          role_name             in varchar2,
654                          user_orig_system      in varchar2 default NULL,
655                          user_orig_system_id   in number default NULL,
656                          role_orig_system      in varchar2 default NULL,
657                          role_orig_system_id   in number default NULL,
658                          validateUserRole      in boolean default TRUE,
659                          start_date            in date default sysdate,
660                          end_date              in date default NULL,
661                          created_by            in number default -1,
662                          creation_date         in date default sysdate,
663                          last_updated_by       in number default -1,
664                          last_update_date      in date default sysdate,
665                          last_update_login     in number default -1,
666                          assignment_type       in varchar2 default 'D',
667                          parent_orig_system    in varchar2 default NULL,
668                          parent_orig_system_id in number default null,
669                          owner_tag             in  varchar2 default null,
670                          assignment_reason     in  varchar2 default null,
671                          eventParams           in wf_parameter_list_t default null);
672 
673 
674 --
675 -- SetUserRoleAttr (PRIVATE)
676 --   Update a user to role relationship.
677 -- IN
678 --   user_name -
679 --   role_name -
680 --   start_date -
681 --   expiration_date -
682 --   user_orig_system -
683 --   user_orig_system_id -
684 --   role_orig_system -
685 --   role_orig_system_id -
686 --   assignment_type -
687 --   parent_orig_system -
688 --   parent_orig_system_id
689 --   owner_tag -
690 --
691 procedure SetUserRoleAttr ( user_name             in  varchar2,
692                             role_name             in  varchar2,
693                             start_date            in  date     default NULL,
694                             end_date              in  date     default NULL,
695                             user_orig_system      in  varchar2,
696                             user_orig_system_id   in  number,
697                             role_orig_system      in  varchar2,
698                             role_orig_system_id   in  number,
699                             OverWrite             in  boolean  default FALSE,
700                             last_updated_by       in  number   default -1,
701                             last_update_date      in  date     default sysdate,
702                             last_update_login     in  number   default -1,
703                             created_by            in number    default NULL,
704                             creation_date         in date      default NULL,
705                             assignment_type       in  varchar2 default 'D',
706                             parent_orig_system    in  varchar2 default null,
707                             parent_orig_system_id in  number   default null,
708                             owner_tag             in  varchar2 default null,
709                             assignment_reason     in  varchar2 default null,
710                             updateWho            in BOOLEAN   default null,
711                             eventParams          in wf_parameter_list_t default null);
712 
713 
714 --
715 -- RemoveUserRole (PRIVATE)
716 --   Remove a user from a role.
717 -- IN
718 --   user_name -
719 --   role_name -
720 --   user_orig_system -
721 --   user_orig_system_id -
722 --   role_orig_system -
723 --   role_orig_system_id -
724 --
725 procedure RemoveUserRole(user_name           in varchar2,
726                          role_name           in varchar2,
727                          user_orig_system    in varchar2,
728                          user_orig_system_id in number,
729                          role_orig_system    in varchar2,
733 -- AddUsersToAdHocRole
730                          role_orig_system_id in number);
731 
732 --
734 --   Add users to an existing ad hoc role
735 -- IN
736 --   role_name     - AdHoc role name
737 --   role_users    - Space or comma delimited list of apps-based users
738 --                      or adhoc users
739 -- OUT
740 --
741 /*#
742  * Adds users to an existing ad hoc role.
743  * @param role_name Role Name
744  * @param role_users Role Users
745  * @rep:scope public
746  * @rep:lifecycle active
747  * @rep:displayname Add Users To Ad Hoc Role
748  * @rep:ihelp FND/@a_ds#a_autahr See the related online help
749  */
750 procedure AddUsersToAdHocRole(role_name         in varchar2,
751                               role_users       in  varchar2);
752 
753 --
754 -- AddUsersToAdHocRole2
755 --   Add users to an existing ad hoc role
756 -- IN
757 --   role_name     - AdHoc role name
758 --   role_users    - Table of user names.
759 --
760 -- OUT
761 --
762 procedure AddUsersToAdHocRole2(role_name         in varchar2,
763                                role_users        in WF_DIRECTORY.UserTable);
764 
765 --
766 -- SetUserAttr (PRIVATE)
767 --   Update additional attributes for users
768 -- IN
769 --   user_name        - user name
770 --   orig_system      -
771 --   orig_system_id   -
772 --   display_name  -
773 --   description -
774 --   notification_preference -
775 --   language      -
776 --   territory     -
777 --   email_address -
778 --   fax           -
779 --   expiration_date  - New expiration date
780 --   status           - status could be 'ACTIVE' or 'INACTIVE'
781 --   start_date
782 --   OverWrite  - Turns off existing data protection.
783 --   parent_orig_system -
784 --   parent_orig_system_id -
785 --   owner_tag
786 -- OUT
787 --
788 procedure SetUserAttr(user_name               in  varchar2,
789                       orig_system             in  varchar2,
790                       orig_system_id          in  number,
791                       display_name            in  varchar2 default null,
792                       description             in  varchar2 default null,
793                       notification_preference in varchar2  default null,
794                       language                in  varchar2 default null,
795                       territory               in  varchar2 default null,
796                       email_address           in  varchar2 default null,
797                       fax                     in  varchar2 default null,
798                       expiration_date         in  date     default null,
799                       status                  in  varchar2 default null,
800                       start_date              in  date     default null,
801                       OverWrite               in  boolean  default FALSE,
802                       Parent_Orig_System      in  varchar2 default null,
803                       Parent_Orig_System_ID   in  number   default null,
804                       owner_tag               in  varchar2 default null,
805                       last_updated_by         in  number   default null,
806                       last_update_date        in  date     default null,
807                       last_update_login       in  number   default null,
808                       created_by              in  number   default null,
809                       creation_date           in  date     default null,
810                       eventParams             in  wf_parameter_list_t default null);
811 
812 --
813 -- SetRoleAttr (PRIVATE)
814 --   Update additional attributes for roles
815 -- IN
816 --   role_name        - role name
817 --   orig_system      -
818 --   orig_system_id   -
819 --   display_name  -
820 --   notification_preference -
821 --   language      -
822 --   territory     -
823 --   email_address -
824 --   fax           -
825 --   expiration_date  - New expiration date
826 --   status           - status could be 'ACTIVE' or 'INACTIVE'
827 --   start_date
828 --   OverWrite - Turns off existing data protection.
829 -- OUT
830 --
831 procedure SetRoleAttr(role_name               in  varchar2,
832                       orig_system             in  varchar2,
833                       orig_system_id          in  number,
834                       display_name            in  varchar2 default null,
835                       description             in  varchar2 default null,
836                       notification_preference in  varchar2 default null,
837                       language                in  varchar2 default null,
838                       territory               in  varchar2 default null,
839                       email_address           in  varchar2 default null,
840                       fax                     in  varchar2 default null,
841                       expiration_date         in  date     default null,
842                       status                  in  varchar2 default null,
843                       start_date              in  date     default null,
844                       OverWrite               in  boolean  default FALSE,
845                       Parent_Orig_System      in  varchar2 default null,
846                       Parent_Orig_System_ID   in  number   default null,
847                       owner_tag               in  varchar2 default null,
848                       last_updated_by         in  number   default null,
852                       creation_date           in  date     default null,
849                       last_update_date        in  date     default sysdate,
850                       last_update_login       in  number   default null,
851                       created_by              in  number   default null,
853                       eventParams             in  wf_parameter_list_t default null);
854 
855 --
856 -- SetAdHocUserExpiration
857 --   Update expiration date for ad hoc users
858 -- IN
859 --   user_name        - Ad hoc user name
860 --   expiration_date  - New expiration date
861 -- OUT
862 --
863 /*#
864  * Updates the expiration date for
865  * an ad hoc user.
866  * @param user_name User Name
867  * @param expiration_date Expiration Date
868  * @rep:scope public
869  * @rep:lifecycle active
870  * @rep:displayname Set Ad Hoc User Expiration
871  * @rep:ihelp FND/@a_ds#a_sahue See the related online help
872  */
873 
874 procedure SetAdHocUserExpiration(user_name      in varchar2,
875                       expiration_date           in date default sysdate);
876 
877 --
878 -- SetAdHocRoleExpiration
879 --   Update expiration date for ad hoc roles, user roles
880 -- IN
881 --   role_name        - Ad hoc role name
882 --   expiration_date  - New expiration date
883 -- OUT
884 --
885 /*#
886  * Updates the expiration date for
887  * an ad hoc role.
888  * @param role_name Role Name
889  * @param expiration_date Expiration Date
890  * @rep:scope public
891  * @rep:lifecycle active
892  * @rep:displayname Set Ad Hoc Role Expiration
893  * @rep:ihelp FND/@a_ds#a_sahre See the related online help
894  */
895 
896 procedure SetAdHocRoleExpiration(role_name      in varchar2,
897                       expiration_date           in date default sysdate);
898 
899 --
900 -- SetAdHocUserAttr
901 --   Update additional attributes for ad hoc users
902 -- IN
903 --   user_name        - Ad hoc user name
904 --   display_name  -
905 --   notification_preference -
906 --   language      -
907 --   territory     -
908 --   email_address -
909 --   fax           -
910 -- OUT
911 --
912 /*#
913  * Updates the attributes for an ad hoc user.
914  * @param user_name User Name
915  * @param display_name Display Name
916  * @param notification_preference Notification Preference
917  * @param language Language
918  * @param territory Territory
919  * @param email_address E-mail address
920  * @param fax Fax
921  * @param parent_orig_system Parent Originating System
922  * @param parent_orig_system_id Parent Originating System ID
923  * @param owner_tag Owner Tag
924  * @rep:scope public
925  * @rep:lifecycle active
926  * @rep:displayname Set Ad Hoc User Attributes
927  * @rep:ihelp FND/@a_ds#a_sahua See the related online help
928  */
929 
930 procedure SetAdHocUserAttr(user_name               in  varchar2,
931                            display_name            in  varchar2 default null,
932                            notification_preference in  varchar2 default null,
933                            language                in  varchar2 default null,
934                            territory               in  varchar2 default null,
935                            email_address           in  varchar2 default null,
936                            fax                     in  varchar2 default null,
937                            parent_orig_system      in  varchar2 default null,
938                            parent_orig_system_id   in  number   default null,
939                            owner_tag               in  varchar2 default null);
940 
941 --
942 -- SetAdHocRoleAttr
943 --   Update additional attributes for ad hoc roles, user roles
944 -- IN
945 --   role_name        - Ad hoc role name
946 --   display_name  -
947 --   notification_preference -
948 --   language      -
949 --   territory     -
950 --   email_address -
951 --   fax           -
952 -- OUT
953 --
954 /*#
955  * Updates the attributes for an ad hoc role.
956  * @param role_name Role Name
957  * @param display_name Display Name
958  * @param notification_preference Notification Preference
959  * @param language Language
960  * @param territory Territory
961  * @param email_address E-mail address
962  * @param fax Fax
963  * @param parent_orig_system Parent Originating System
964  * @param parent_orig_system_id Parent Originating System ID
965  * @param owner_tag Owner Tag
966  * @rep:scope public
967  * @rep:lifecycle active
968  * @rep:displayname Set Ad Hoc Role Attributes
969  * @rep:ihelp FND/@a_ds#a_sahra See the related online help
970  */
971 procedure SetAdHocRoleAttr(role_name          in  varchar2,
972                       display_name            in  varchar2 default null,
973                       notification_preference in  varchar2 default null,
974                       language                in  varchar2 default null,
975                       territory               in  varchar2 default null,
976                       email_address           in  varchar2 default null,
977                       fax                     in  varchar2 default null,
978                       parent_orig_system      in  varchar2 default null,
982 --
979                       parent_orig_system_id   in  number   default null,
980                       owner_tag               in  varchar2 default null);
981 
983 -- RemoveUsersFromAdHocRole
984 --   Remove users from an existing ad hoc role
985 -- IN
986 --   role_name     -
987 --   role_users    -
988 -- OUT
989 --
990 /*#
991  * Removes users from an existing
992  * ad hoc role.
993  * @param role_name Role Name
994  * @param role_users Role Users
995  * @rep:scope public
996  * @rep:lifecycle active
997  * @rep:displayname Remove Users From Ad Hoc Role
998  * @rep:ihelp FND/@a_ds#a_rufahr See the related online help
999  */
1000 
1001 procedure RemoveUsersFromAdHocRole(role_name in varchar2,
1002                       role_users             in varchar2 default null);
1003 
1004 --
1005 -- ChangeLocalUserName
1006 --  Change a User's Name in the WF_LOCAL_USERS table.
1007 -- IN
1008 --  OldName
1009 --  NewName
1010 --  Propagate - call WF_MAINTENANCE.PropagateChangedName.
1011 -- OUT
1012 --
1013 function ChangeLocalUserName(OldName in varchar2,
1014                              NewName in varchar2,
1015                              Propagate in boolean default true)
1016 return BOOLEAN;
1017 
1018 --
1019 -- ReassignUserRoles
1020 --   Reassigns user/roles when the user information changes.
1021 -- IN
1022 --   p_user_name
1023 --   p_old_user_origSystem
1024 --   p_old_user_origSystemID
1025 --   p_new_user_origSystem
1026 --   p_new_user_origSystemID
1027 --   p_last_update_date
1028 --   p_last_updated_by
1029 --   p_last_update_login
1030 --   p_overWriteUserRoles - if TRUE, provided new column values should not be null for the
1031 --                 corresponding column update to happen.
1032 -- OUT
1033 --
1034 procedure ReassignUserRoles (p_user_name             in VARCHAR2,
1035                              p_old_user_origSystem   in VARCHAR2,
1036                              p_old_user_origSystemID in VARCHAR2,
1037                              p_new_user_origSystem   in VARCHAR2,
1038                              p_new_user_origSystemID in VARCHAR2,
1039                              p_last_update_date      in DATE   default NULL,
1040                              p_last_updated_by       in NUMBER default NULL,
1041                              p_last_update_login     in NUMBER default NULL
1042                              -- <6817561>
1043                            , p_overWriteUserRoles in boolean default false -- </6817561>
1044                              );
1045 
1046 
1047 --
1048 -- AssignPartition (PRIVATE)
1049 --
1050 -- IN
1051 --  p_orig_system (VARCHAR2)
1052 --
1053 -- RETURNS
1054 --  Partition ID (NUMBER)
1055 --
1056 -- COMMENTS
1057 --  This api will check to see the partition for the p_orig_system exists.
1058 --  if it does not exist, it will be added to p_table_name.  In either case
1059 --  the Partition_ID will be returned for the calling api to properly populate
1060 --  that column on insert/update.
1061 --
1062 procedure  AssignPartition (p_orig_system   in  varchar2,
1063                             p_partitionID   out nocopy number,
1064                             p_partitionName out nocopy varchar2);
1065 
1066 --Bug 3090738
1067 --This API queries wf_roles for information of the
1068 --user when the e-mail address is give.
1069 procedure getInfoFromMail(mailid   in varchar2,
1070                           role out nocopy  varchar2,
1071                           display_name out NOCOPY varchar2,
1072                           description out NOCOPY varchar2,
1073                           notification_preference out NOCOPY varchar2,
1074                           language out NOCOPY varchar2,
1075                           territory out NOCOPY varchar2,
1076                           fax       out NOCOPY varchar2,
1077                           expiration_date out NOCOPY date,
1078                           status  out NOCOPY varchar2,
1079                           orig_system  out NOCOPY varchar2,
1080                           orig_system_id out NOCOPY number);
1081 
1082     /* (PRIVATE) - to be used by WF only
1083      *
1084      * Fetches role information when the e-mail address is given.
1088                               , p_role out NOCOPY varchar2,
1085      * Added other parameters for full NLS support -phase 1-, bug 7578908
1086      */
1087     procedure GetInfoFromMail2( p_emailid in varchar2
1089                                 p_display_name out NOCOPY varchar2,
1090                                 p_description out NOCOPY varchar2,
1091                                 p_notification_preference out NOCOPY varchar2,
1092                                 p_orig_system out NOCOPY varchar2,
1093                                 p_orig_system_id out NOCOPY number,
1094                                 p_fax out NOCOPY number,
1095                                 p_expiration_date out nocopy date,
1096                                 p_status out NOCOPY varchar2
1097                               , p_nlsLanguage out NOCOPY varchar2,
1098                                 p_nlsTerritory out NOCOPY varchar2
1099                               , p_nlsDateFormat out NOCOPY varchar2
1100                               , p_nlsDateLanguage out NOCOPY varchar2
1101                               , p_nlsCalendar out NOCOPY varchar2
1102                               , p_nlsNumericCharacters out NOCOPY varchar2
1103                               , p_nlsSort out NOCOPY varchar2
1104                               , p_nlsCurrency out NOCOPY varchar2);
1105 
1106 function IsMLSEnabled(p_orig_system  in   varchar2)
1107 return boolean;
1108 
1109 --
1110 -- Change_Name_References_RF (PRIVATE)
1111 --
1112 -- IN
1113 --  p_sub_guid (RAW)
1114 --  p_event    (WF_EVENT_T)
1115 --
1116 -- RETURNS
1117 --  varchar2
1118 --
1119 -- COMMENTS
1120 --  This api is a rule function to be called by BES.  It is primarily used for
1121 --  a user name change to update all the fk references.  The subscription is
1122 --  set as deferred to offline the updates to return control back to the user
1123 --  more quickly.
1124 --
1125 function Change_Name_References_RF( p_sub_guid  in            RAW,
1126                                     p_event     in out NOCOPY WF_EVENT_T )
1127 return varchar2;
1128 
1129 
1130 --
1131 -- DeleteRole
1132 --
1133 -- IN
1134 -- p_name (VARCHAR2)
1135 -- p_OrigSystem (VARCHAR2)
1136 -- p_OrigSystemID (NUMBER)
1137 --
1138 --
1139 -- COMMENTS
1140 -- This API is to be used to remove a specified end-dated role/user
1141 -- along with its references, from the WFDS Tables.
1142 
1143 procedure DeleteRole ( p_name in varchar2,
1144                        p_origSystem in varchar2,
1145                        p_origSystemID in number);
1146 
1147 
1148 
1149 --
1150 -- DeleteUserRole
1151 --
1152 -- IN
1153 -- p_username (VARCHAR2)
1154 -- p_rolename (VARCHAR2)
1155 -- p_userOrigSystem (VARCHAR2)
1156 -- p_userOrigSystemID (NUMBER)
1157 -- p_roleOrigSystem (VARCHAR2)
1158 -- p_roleOrigSystemID (NUMBER)
1159 --
1160 --
1161 -- COMMENTS
1162 -- This API is to be used to remove a specified end-dated user/role
1163 -- assignment along with its references from the WFDS Tables.
1164 --
1165 procedure DeleteUserRole ( p_username in varchar2 default null,
1166                            p_rolename in varchar2 default null,
1167                            p_userorigSystem in varchar2  default null,
1168                            p_userorigSystemID in number  default null,
1169                            p_roleorigSystem in varchar2  default null,
1170                            p_roleorigSystemID in number  default null);
1171 
1172 end Wf_Directory;