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