DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_WFNOTIFICATION_PVT

Source


1 PACKAGE BODY JTF_WFNOTIFICATION_PVT AS
2 /* $Header: JTFVWNTB.pls 120.2 2005/10/25 05:08:00 psanyal ship $ */
3 
4 	PROCEDURE Send_Email (
5 	                p_api_version		IN 	NUMBER,
6 	                p_commit		IN	VARCHAR2 := FND_API.g_false,
7 	                p_init_msg_list		IN	VARCHAR2 := FND_API.g_false,
8                      	email_list 		IN   	VARCHAR2,
9                      	subject 		IN   	VARCHAR2,
10 	        	body 			IN   	VARCHAR2,
11                      	return_status       OUT NOCOPY /* file.sql.39 change */  	VARCHAR2,
12                 	x_msg_count	 OUT NOCOPY /* file.sql.39 change */ NUMBER,
13                 	x_msg_data	 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
14 			)
15         IS
16                 wf_itemkey_seq INTEGER;
17 			 wf_itemkey VARCHAR2(30);
18 			 role_name VARCHAR2(30);
19 			 role_display_name VARCHAR2(30);
20         BEGIN
21                 return_status := FND_API.g_ret_sts_success;
22 
23 --               DBMS_OUTPUT.put_line('email_list: ' || email_list );
24 --               DBMS_OUTPUT.put_line('subject: ' || subject );
25 --               DBMS_OUTPUT.put_line('body: ' || body );
26 
27         select JTF_WFNOTIFICATION_S2.NEXTVAL into wf_itemkey_seq from dual;
28 	   wf_itemkey := 'JTF_MAIL_' || wf_itemkey_seq;
29 
30 	   role_name := 'JTF_EMAIL_LIST_' || wf_itemkey_seq ;
31 	   role_display_name := 'JTF_EMAIL_LIST_' || wf_itemkey_seq ;
32 
33         wf_directory.CreateAdHocUser(
34 						   name => role_name,
35 						   display_name => role_display_name,
36 						   notification_preference => 'MAILTEXT',
37                                  		   email_address => email_list,
38 						   expiration_date => sysdate + 1
39 						  );
40 
41 	   wf_engine.CreateProcess (
42 						   itemtype => 'JTF_MAIL',
43 						   itemkey  =>  wf_itemkey,
44 						   process  => 'JTF_SEND_MAIL'
45 						  );
46 	   wf_engine.SetItemUserKey (
47 						   itemtype => 'JTF_MAIL',
48 						   itemkey  =>  wf_itemkey,
49 						   userkey  => 'JTF Email Notification' || wf_itemkey_seq
50 						  );
51 	   wf_engine.SetItemAttrText (
52 						   itemtype => 'JTF_MAIL',
53 						   itemkey  =>  wf_itemkey,
54 						   aname    => 'ROLE_TO_NOTIFY',
55 						   avalue   =>  role_name
56 						  );
57 	   wf_engine.SetItemAttrText (
58 						   itemtype => 'JTF_MAIL',
59 						   itemkey  =>  wf_itemkey,
60 						   aname    => 'NOTIFICATION_SUBJECT',
61 						   avalue   =>  subject
62 						  );
63 	   wf_engine.SetItemAttrText (
64 						   itemtype => 'JTF_MAIL',
65 						   itemkey  =>  wf_itemkey,
66 						   aname    => 'NOTIFICATION_BODY',
67 						   avalue   =>  body
68 						  );
69 	   wf_engine.SetItemOwner (
70 						   itemtype => 'JTF_MAIL',
71 						   itemkey  =>  wf_itemkey,
72 						   owner    =>  role_name
73 						 );
74 	   wf_engine.StartProcess (
75 						   itemtype => 'JTF_MAIL',
76 						   itemkey  =>  wf_itemkey
77 						 );
78 
79         EXCEPTION
80                 When others then
81 
82                 return_status := FND_API.g_ret_sts_error;
83                 x_msg_count := 0;
84 
85 			 wf_core.context('JTF_WFNOTIFICATION_PVT',
86 						  'Send_Email',
87 		                       		   email_list,
88 						   subject,
89 						   body
90 						 );
91                 raise;
92      END Send_Email;
93 
94 END JTF_WFNOTIFICATION_PVT ;