DBA Data[Home] [Help]

PACKAGE BODY: APPS.MSDNTF

Source


1 PACKAGE BODY MSDNTF AS
2 /* $Header: msdntwfb.pls 115.2 2002/05/08 13:08:28 pkm ship   $ */
3 
4 PROCEDURE SETUSER (AdHocRole in varchar2,
5                     UserList in varchar2)
6 IS
7    -- May replace with AdHocRole
8    roleName varchar2(30) :=AdHocRole;
9 BEGIN
10    wf_directory.AddUsersToAdHocRole(role_name => AdHocRole,
11                                     role_users => UserList);
12 end SETUSER;
13 PROCEDURE SETROLE (AdHocRole in varchar2, ExpDays in number)
14 IS
15    -- May replace with AdHocRole
16    roleDisplayName varchar2(30) := AdHocRole;
17    roleName varchar2(30) :=AdHocRole;
18    addDays number :=ExpDays;
19 
20 BEGIN
21    wf_directory.CreateAdHocRole(role_name => roleName,
22 			role_display_name => roleDisplayName,
23                                 language  => NULL,
24                                 territory => NULL,
25                          role_description => NULL,
26                  notification_preference  => 'MAILHTML',
27                                role_users => NULL,
28                            email_address  => NULL,
29                                 fax       => NULL,
30                                 status    => 'ACTIVE',
31                          expiration_date  => sysdate+addDays);
32 end SETROLE;
33 PROCEDURE REMUSER (AdHocRole in varchar2,
34                    UserList in varchar2)
35 IS
36    roleName varchar2(30) :=AdHocRole;
37 BEGIN
38  wf_directory.RemoveUsersFromAdHocRole(roleName, UserList);
39 end REMUSER;
40 --
41 -- REMALL cleans up wf_local_roles.  It is called from OES by ntf.purgerole
42 -- ntf.purgerole also calls wf_purge.notificatons and wf_purgeItem
43 -- along with this so all expired notifications are cleaned.
44 -- These are called by expiration_date.
45 --
46 PROCEDURE REMALL (AdHocRole in varchar2)
47 IS
48    roleName varchar2(30) :=AdHocRole;
49 BEGIN
50   wf_directory.RemoveUsersFromAdHocRole(roleName);
51 
52   delete wf_local_roles
53   where name = roleName;
54 
55   commit;
56 
57 end REMALL;
58 --
59 -- Accepts arguements to set message for notifications.
60 -- Creates notifcation process, sets attributes and
61 -- starts [sends] the notification.  It relies on the
62 -- Ad Hoc directory service being set.
63 
64 PROCEDURE DO_NTFY (WorkflowProcess in varchar2,
65                       iteminput in varchar2,
66                       inputkey in varchar2,
67                       inowner in varchar2,
68                       AdHocRole in varchar2,
69                       URLfragment in varchar2,
70 		      Subject in varchar2,
71                       msgBody in varchar2)
72 IS
73    itemtype varchar2(30) := iteminput;
74    itemkey varchar2(30) := inputkey;
75    owner varchar2(30) := inowner;
76    RptLoc varchar2(200) := URLfragment;
77    roleName varchar2(30) :=AdHocRole;
78    BEGIN
79    wf_engine.CreateProcess(ItemType => ItemType,
80                            itemKey => ItemKey,
81                            process => WorkflowProcess);
82    wf_engine.SetItemOwner(ItemType => ItemType,
83                          ItemKey => ItemKey,
84                          owner => owner);
85    wf_engine.SetItemAttrText(Itemtype => ItemType,
86 				   Itemkey => ItemKey,
87 				   aname => 'ADHOCROLE',
88 				   avalue => roleName);
89    wf_engine.SetItemAttrText(Itemtype => ItemType,
90 				   Itemkey => ItemKey,
91 				   aname => 'NTFSUBJECT',
92 				   avalue => Subject);
93    wf_engine.SetItemAttrText(Itemtype => ItemType,
94 				   Itemkey => ItemKey,
95 				   aname => 'NTFMSGBODY',
96 				   avalue => msgBody);
97    wf_engine.SetItemAttrText(Itemtype => ItemType,
98 				   Itemkey => ItemKey,
99 				   aname => 'URLVALUE',
100 				   avalue => RptLoc);
101 
102    wf_engine.StartProcess(ItemType => ItemType,
103                          ItemKey => ItemKey);
104    return;
105    exception
106      when others then
107         WF_CORE.CONTEXT('MSDNTF', 'DO_NTFY ',
108          itemtype, itemkey);
109    raise;
110 end DO_NTFY;
111 end MSDNTF;