DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_REROUTE_PUB

Source


1 package body iem_reroute_pub as
2 /* $Header: iemprerb.pls 120.1 2005/10/13 17:08:22 rtripath noship $*/
3 
4 /* -- Change History
5   -- 08/25/04 rtripath In case of reroute to same classification make sure that group associated with the
6   --                   message is valid. i.e either the group contain other valid agent attach to the same account
7   --				  otherwise update the group to make the message avaialble to all agent (i.e group_id=0)
8   */
9 /**********************Global Variable Declaration **********************/
10 G_PKG_NAME CONSTANT varchar2(30) :='IEM_REROUTE_PUB ';
11 
12 	PROCEDURE 	IEM_MAIL_REROUTE_CLASS(
13         				p_Api_Version_Number 	  IN NUMBER,
14         				p_Init_Msg_List  		  IN VARCHAR2     ,
15         				p_Commit    			  IN VARCHAR2     ,
16 					p_msgid in number,
17 					p_agent_id	in number,
18 					p_class_id in number,
19 					p_customer_id	in number,
20 					p_uid in number,
21 					p_interaction_id in number,
22 					p_group_id	in number,
23         				x_msg_count   		      OUT NOCOPY  NUMBER,
24        				x_return_status  		  OUT NOCOPY  VARCHAR2,
25       				x_msg_data   			  OUT NOCOPY  VARCHAR2) IS
26 	l_api_name        		VARCHAR2(255):='iem_mail_reroute_class';
27 	l_api_version_number 	NUMBER:=1.0;
28 l_old_id		iem_rt_proc_emails.rt_classification_id%type;
29 l_ret_status	varchar2(10);
30 l_msg_count	number;
31 l_counter	number;
32 l_count	number;
33 l_msg_data	varchar2(1000);
34 l_folder_name	varchar2(300);
35 l_post_rec	iem_rt_proc_emails%rowtype;
36 l_search		varchar2(100);		-- search pattern in subject
37 l_interaction_rec        JTF_IH_PUB.interaction_rec_type;
38 l_activity_rec        JTF_IH_PUB.activity_rec_type;
39 l_resource_id		number;
40 l_source_message_id		number;
41 l_customer_id		number;
42 l_interaction_id		number;
43 l_activity_id		number;
44 l_sender_name		varchar2(240);
45 KeyValuePairs iem_route_pub.KeyVals_tbl_type;
46 	l_encrypted_id		varchar2(500);
47 	l_index1			number;
48 	l_index2			number;
49 	l_tag_keyval			IEM_TAGPROCESS_PUB.keyVals_tbl_type;
50 l_group_id		number;
51 l_status		varchar2(10);
52 l_out_text		varchar2(500);
53 INSERT_HIST_EXCEPTION	EXCEPTION;
54 INSERT_MDT_EXCEPTION	EXCEPTION;
55  FAILED_CREATE_INTERACTION EXCEPTION;
56  FAILED_CREATE_ACTIVITY EXCEPTION;
57  NO_DEFAULT_RESOURCE_ID	EXCEPTION;
58  INVALID_CLASSIFICATION EXCEPTION;
59  ERROR_RETRIEVE_SOURCE_MESSAGE EXCEPTION;
60  BEGIN
61 -- Standard Start of API savepoint
62 SAVEPOINT		IEM_MAIL_REROUTE_PVT;
63 -- Standard call to check for call compatibility.
64 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
65 				    p_api_version_number,
66 				    l_api_name,
67 				    G_PKG_NAME)
68 THEN
69 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70 END IF;
71 -- Initialize message list if p_init_msg_list is set to TRUE.
72    IF p_init_msg_list='T'
73    THEN
74      FND_MSG_PUB.initialize;
75    END IF;
76    x_return_status := FND_API.G_RET_STS_SUCCESS;
77 	IEM_REROUTING_HISTS_PVT.CREATE_ITEM (p_api_version_number=>1.0,
78  		  	      p_init_msg_list=>'F' ,
79 		    	      p_commit=>'F'	    ,
80 			p_message_id=>p_msgid,
81 			p_agent_id=>p_agent_id,
82 			p_CREATED_BY  =>TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),
83           	p_CREATION_DATE  =>SYSDATE,
84          		p_LAST_UPDATED_BY  =>TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),
85           	p_LAST_UPDATE_DATE  =>SYSDATE,
86           	p_LAST_UPDATE_LOGIN=>TO_NUMBER (FND_PROFILE.VALUE('LOGIN_ID')) ,
87          		p_ATTRIBUTE1   =>null,
88           	p_ATTRIBUTE2   =>null,
89           	p_ATTRIBUTE3   =>null,
90           	p_ATTRIBUTE4   =>null,
91           	p_ATTRIBUTE5   =>null,
92           	p_ATTRIBUTE6   =>null,
93           	p_ATTRIBUTE7   =>null,
94           	p_ATTRIBUTE8   =>null,
95           	p_ATTRIBUTE9   =>null,
96           	p_ATTRIBUTE10  =>null,
97           	p_ATTRIBUTE11  =>null,
98           	p_ATTRIBUTE12  =>null,
99           	p_ATTRIBUTE13  =>null,
100           	p_ATTRIBUTE14  =>null,
101           	p_ATTRIBUTE15  =>null,
102 		      x_return_status=>l_ret_status	,
103   		 	 x_msg_count=>l_msg_count	      ,
104 	  	  	 x_msg_data=>l_msg_data);
105 	IF l_ret_status<>'S' THEN
106 		RAISE INSERT_HIST_EXCEPTION;
107 	END IF;
108  -- Check to See whether the message is transfered to same bin or different
109  IF p_class_id is null then
110  -- Create Interaction
111      		l_interaction_rec.start_date_time   := sysdate;
112      		l_resource_id:=FND_PROFILE.VALUE_SPECIFIC('IEM_SRVR_ARES') ;
113 			IF l_resource_id is NULL THEN
114 				raise NO_DEFAULT_RESOURCE_ID;
115 			END IF;
116      		l_interaction_rec.resource_id:=l_resource_id ;
117      		l_interaction_rec.party_id  := p_customer_id;
118      		l_interaction_rec.handler_id        := 680; -- IEM APPL_ID
119      		l_interaction_rec.parent_id  := p_interaction_id;
120      		JTF_IH_PUB.Open_Interaction( p_api_version     => 1.0,
121                                   p_resp_appl_id    => TO_NUMBER(FND_PROFILE.VALUE('RESP_APPL_ID')),
122                                   p_resp_id         => TO_NUMBER(FND_PROFILE.VALUE('RESP_ID')),
123                          		p_user_id		  =>nvl(TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),-1),
124 							p_login_id	  =>TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID')),
125                                   x_return_status   => l_ret_status,
126                                   x_msg_count       => l_msg_count,
127                                   x_msg_data        => l_msg_data,
128                                   x_interaction_id  => l_interaction_id,
129                                   p_interaction_rec => l_interaction_rec
130                                  );
131 			IF l_ret_status<>'S' THEN
132 				raise FAILED_CREATE_INTERACTION;
133 			END IF;
134 	select * into l_post_rec
135 	from iem_rt_proc_emails
136 	where message_id=p_msgid;
137 			-- Add a Activity for EMAILPROCESSING
138 
139      				l_activity_rec.start_date_time   := SYSDATE;
140 	       			l_activity_rec.media_id          := l_post_rec.ih_media_item_id;
141          				l_activity_rec.action_id         := 95;	-- EMAILPROCESSED
142          				l_activity_rec.interaction_id    := l_interaction_id;
143          				l_activity_rec.action_item_id    := 45;-- EMAIL
144 				BEGIN
145 					select wu.outcome_id, wu.result_id, wu.reason_id INTO
146  					l_activity_rec.outcome_id, l_activity_rec.result_id, l_activity_rec.reason_id
147         				from jtf_ih_action_action_items aa, jtf_ih_wrap_ups wu
148         				where aa.action_id =l_activity_rec.action_id
149 					and aa.action_item_id = l_activity_rec.action_item_id
150         				and aa.default_wrap_id = wu.wrap_id;
151 				EXCEPTION WHEN OTHERS THEN
152 							NULL;
153 				END;
154          		JTF_IH_PUB.Add_Activity(p_api_version     => 1.0,
155                                  p_resp_appl_id  => TO_NUMBER(FND_PROFILE.VALUE('RESP_APPL_ID')),
156                                  p_resp_id       => TO_NUMBER(FND_PROFILE.VALUE('RESP_ID')),
157                          		p_user_id		  =>nvl(TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),-1),
158 							p_login_id	  =>TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID')),
159                                  x_return_status => l_ret_status,
160                                  x_msg_count     => l_msg_count,
161                                  x_msg_data      => l_msg_data,
162                                  p_activity_rec  => l_activity_rec,
163                                  x_activity_id   => l_activity_id
164                                  );
165 					if l_ret_status<>'S' then
166 						raise FAILED_CREATE_ACTIVITY;
167 					end if;
168 if p_group_id is null then		-- not a supervisor requeue
169 	IF l_post_rec.group_id >0 then	-- message was not routed to ALL group
170    -- The below query verify that existing group for the message is valid. In this regard it checks its association
171    -- with more than one agent i.e group should have some additional agent then the current one to fetch the
172    -- message
173 	select count(*) into l_count from
174  	jtf_rs_group_members c,iem_agents d
175 	where group_id=l_post_rec.group_id
176 	and delete_flag = 'N' and c.resource_id<>p_agent_id and c.resource_id = d.resource_id
177 	and d.email_account_id = l_post_rec.email_account_id
178 	and d.resource_id not in (select agent_id from iem_reroute_hists where message_id=p_msgid);
179 		IF l_count>0 then	--existing group is a valid group
180 			l_group_id:=l_post_rec.group_id;
181 		ELSE
182 			l_group_id:=0;		-- No more valid group available.So route to ALL group
183 		END IF;
184 	ELSE					     -- Message was originall routed to ALL group
185 		l_group_id:=0;
186 	END IF;
187 ELSE			-- supervisor requeue case
188 	l_group_id:=p_group_id;
189 end if;
190 		update iem_rt_proc_emails
191 		set resource_id=0,
192 		msg_status='REROUTE',
193 		group_id=l_group_id,
194 		IH_INTERACTION_ID=l_interaction_id
195 		where message_id=p_msgid;
196  ELSE
197 	select * into l_post_rec
198 	from iem_rt_proc_emails
199 	where message_id=p_msgid;
200  iem_Rt_preproc_emails_pvt.create_item(
201 	p_api_version_number => 1.0,
202  	p_init_msg_list=>'F' ,
203 	p_commit=>'F'	    ,
204 	p_message_id=>p_msgid,
205 	p_email_account_id=>l_post_rec.email_account_id,
206 	p_priority => l_post_rec.priority,
207 	p_received_date=>l_post_rec.received_date,
208 	x_return_status => l_ret_status,
209 	x_msg_count => l_msg_count,
210 	x_msg_data => l_msg_data);
211 
212 	IF l_ret_status<>'S' THEN
213 		RAISE INSERT_MDT_EXCEPTION;
214 	END IF;
215 	-- Later the below update statement will be added  to above create_item api 09/30/04 RT
216 
217 	update iem_rt_preproc_emails
218 	set msg_status='REROUTE',
219 	IH_INTERACTION_ID=p_interaction_id,
220 	IH_MEDIA_ITEM_ID=l_post_rec.ih_media_item_id,
221 	RT_CLASSIFICATION_ID=p_class_id
222 	where message_id=p_msgid;
223 	delete from iem_rt_proc_emails where message_id=p_msgid;
224  END IF;
225 
226 -- Standard Check Of p_commit.
227 	IF p_commit='T' THEN
228 		COMMIT WORK;
229 	END IF;
230 	COMMIT;
231 -- Standard callto get message count and if count is 1, get message info.
232        FND_MSG_PUB.Count_And_Get
233 			( p_count =>  x_msg_count,
234                  	p_data  =>    x_msg_data
235 			);
236  EXCEPTION WHEN INSERT_HIST_EXCEPTION  THEN
237 	rollback to IEM_MAIL_REROUTE_PVT;
238            FND_MESSAGE.SET_NAME('IEM','IEM_INSERT_HIST_EXCEPTION');
239            FND_MSG_PUB.Add;
240            x_return_status := FND_API.G_RET_STS_ERROR ;
241           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
242 
243  WHEN INSERT_MDT_EXCEPTION  THEN
244 	rollback to IEM_MAIL_REROUTE_PVT;
245            FND_MESSAGE.SET_NAME('IEM','IEM_INSERT_MDT_EXCEPTION');
246            FND_MSG_PUB.Add;
247            x_return_status := FND_API.G_RET_STS_ERROR ;
248           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
249 
250  WHEN  FAILED_CREATE_INTERACTION THEN
251 	rollback to IEM_MAIL_REROUTE_PVT;
252            FND_MESSAGE.SET_NAME('IEM','IEM_FAILED_CREATE_INTERACTIONS');
253            FND_MSG_PUB.Add;
254            x_return_status := FND_API.G_RET_STS_ERROR ;
255           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
256 
257  WHEN  FAILED_CREATE_ACTIVITY THEN
258 	rollback to IEM_MAIL_REROUTE_PVT;
259            FND_MESSAGE.SET_NAME('IEM','IEM_FAILED_CREATE_ACTIVITY');
260            FND_MSG_PUB.Add;
261            x_return_status := FND_API.G_RET_STS_ERROR ;
262           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
263 
264  WHEN  INVALID_CLASSIFICATION THEN
265 	rollback to IEM_MAIL_REROUTE_PVT;
266            FND_MESSAGE.SET_NAME('IEM','IEM_INVALID_CLASSIFICATION');
267            FND_MSG_PUB.Add;
268            x_return_status := FND_API.G_RET_STS_ERROR ;
269           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
270 
271  WHEN  NO_DEFAULT_RESOURCE_ID THEN
272 	rollback to IEM_MAIL_REROUTE_PVT;
273            FND_MESSAGE.SET_NAME('IEM','IEM_NO_DEFAULT_RESOURCE_ID');
274            FND_MSG_PUB.Add;
275            x_return_status := FND_API.G_RET_STS_ERROR ;
276           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
277 
278  WHEN  ERROR_RETRIEVE_SOURCE_MESSAGE THEN
279 	rollback to IEM_MAIL_REROUTE_PVT;
280            FND_MESSAGE.SET_NAME('IEM','IEM_ERROR_RETRIEVE_SOURCE_MSG');
281            FND_MSG_PUB.Add;
282            x_return_status := FND_API.G_RET_STS_ERROR ;
283           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
284 
285 
286    WHEN FND_API.G_EXC_ERROR THEN
287 	rollback to IEM_MAIL_REROUTE_PVT;
288        x_return_status := FND_API.G_RET_STS_ERROR ;
289        FND_MSG_PUB.Count_And_Get
290 			( p_count => x_msg_count,
291                  	p_data  =>      x_msg_data
292 			);
293 
294    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
295 	rollback to IEM_MAIL_REROUTE_PVT;
296        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
297        FND_MSG_PUB.Count_And_Get
298 			( p_count => x_msg_count,
299                  	p_data  =>      x_msg_data
300 			);
301  WHEN OTHERS then
302 	rollback to IEM_MAIL_REROUTE_PVT;
303       x_return_status := FND_API.G_RET_STS_ERROR;
304 	IF 	FND_MSG_PUB.Check_Msg_Level
305 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
306 		THEN
307         		FND_MSG_PUB.Add_Exc_Msg
308     	    		(	G_PKG_NAME  	    ,
309     	    			l_api_name
310 	    		);
311 		END IF;
312 		FND_MSG_PUB.Count_And_Get
313     		( p_count         	=>      x_msg_count     	,
314         	p_data          	=>      x_msg_data
315     		);
316  END  IEM_MAIL_REROUTE_CLASS;
317 
318 	PROCEDURE 	IEM_MAIL_REROUTE_ACCOUNT(
319         				p_Api_Version_Number 	  IN NUMBER,
320         				p_Init_Msg_List  		  IN VARCHAR2     ,
321         				p_Commit    			  IN VARCHAR2     ,
322 					p_msgid in number,
323 					p_agent_id in number,
324 					p_email_account_id in number,
325 					p_interaction_id in number,
326 					p_uid in number,
327         				x_msg_count   		      OUT NOCOPY  NUMBER,
328        				x_return_status  		  OUT NOCOPY  VARCHAR2,
329       				x_msg_data   			  OUT NOCOPY  VARCHAR2) IS
330 	l_api_name        		VARCHAR2(255):='iem_mail_reroute_account';
331 	l_api_version_number 	NUMBER:=1.0;
332 	l_status			  varchar2(10);
333 	l_out_text		  varchar2(500);
334 	l_buf          varchar2(200);
335 	l_ret          varchar2(200);
336 	l_ret_status		varchar2(10);
337 	l_msg_count		number;
338 	l_msg_data		varchar2(100);
339 	l_media_id		number;
340 	l_received_date	date;
341 	l_post_Rec		iem_rt_proc_emails%rowtype;
342 	REROUTING_FAILS	EXCEPTION;
343 	INSERT_HIST_EXCEPTION	EXCEPTION;
344 
345 	BEGIN
346 -- Standard Start of API savepoint
347 SAVEPOINT		IEM_MAIL_REROUTE_PVT;
348 -- Standard call to check for call compatibility.
349 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
350 				    p_api_version_number,
351 				    l_api_name,
352 				    G_PKG_NAME)
353 THEN
354 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
355 END IF;
356 -- Initialize message list if p_init_msg_list is set to TRUE.
357    IF p_init_msg_list ='T'
358    THEN
359      FND_MSG_PUB.initialize;
360    END IF;
361    x_return_status := FND_API.G_RET_STS_SUCCESS;
362 
363 	IEM_REROUTING_HISTS_PVT.CREATE_ITEM (p_api_version_number=>1.0,
364  		  	      p_init_msg_list=>'F' ,
365 		    	      p_commit=>'F'	    ,
366 			p_message_id=>p_msgid,
367 			p_agent_id=>p_agent_id,
368 			p_CREATED_BY  =>TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),
369           	p_CREATION_DATE  =>SYSDATE,
370          		p_LAST_UPDATED_BY  =>TO_NUMBER (FND_PROFILE.VALUE('USER_ID')),
371           	p_LAST_UPDATE_DATE  =>SYSDATE,
372           	p_LAST_UPDATE_LOGIN=>TO_NUMBER (FND_PROFILE.VALUE('LOGIN_ID')) ,
373          		p_ATTRIBUTE1   =>null,
374           	p_ATTRIBUTE2   =>null,
375           	p_ATTRIBUTE3   =>null,
376           	p_ATTRIBUTE4   =>null,
377           	p_ATTRIBUTE5   =>null,
378           	p_ATTRIBUTE6   =>null,
379           	p_ATTRIBUTE7   =>null,
380           	p_ATTRIBUTE8   =>null,
381           	p_ATTRIBUTE9   =>null,
382           	p_ATTRIBUTE10  =>null,
383           	p_ATTRIBUTE11  =>null,
384           	p_ATTRIBUTE12  =>null,
385           	p_ATTRIBUTE13  =>null,
386           	p_ATTRIBUTE14  =>null,
387           	p_ATTRIBUTE15  =>null,
388 		      x_return_status=>l_ret_status	,
389   		 	 x_msg_count=>l_msg_count	      ,
390 	  	  	 x_msg_data=>l_msg_data);
391 		IF l_ret_status<>'S' THEN
392 			raise INSERT_HIST_EXCEPTION;
393 		END IF;
394 		delete from iem_email_classifications where message_id=p_msgid;
395 		delete from iem_kb_Results where message_id=p_msgid;
396 select * into l_post_rec from iem_rt_proc_emails where message_id=p_msgid;
397  iem_Rt_preproc_emails_pvt.create_item(
398 	p_api_version_number => 1.0,
399  	p_init_msg_list=>'F' ,
400 	p_commit=>'F'	    ,
401 	p_message_id=>p_msgid,
402 	p_email_account_id=>p_email_account_id,
403 	p_priority => l_post_rec.priority,
404 	p_received_date=>l_post_rec.received_date,
405 	x_return_status => l_ret_status,
406 	x_msg_count => l_msg_count,
407 	x_msg_data => l_msg_data);
408 
409 	IF l_ret_status<>'S' THEN
410 		RAISE REROUTING_FAILS;
411 	END IF;
412 	-- Later the below update statement will be added  to above create_item api 09/30/04 RT
413 
414 	update iem_rt_preproc_emails
415 	set msg_status='REROUTE',
416 	IH_INTERACTION_ID=p_interaction_id,
417 	IH_MEDIA_ITEM_ID=l_post_rec.ih_media_item_id
418 	where message_id=p_msgid;
419  delete from iem_rt_proc_emails where message_id=p_msgid;
420 -- Standard Check Of p_commit.
421 	IF p_commit='T' THEN
422 		COMMIT WORK;
423 	END IF;
424 	COMMIT;
425 -- Standard callto get message count and if count is 1, get message info.
426        FND_MSG_PUB.Count_And_Get
427 			( p_count =>  x_msg_count,
428                  	p_data  =>    x_msg_data
429 			);
430  EXCEPTION WHEN INSERT_HIST_EXCEPTION  THEN
431 	rollback to IEM_MAIL_REROUTE_PVT;
432            FND_MESSAGE.SET_NAME('IEM','IEM_REROUTE_INSERT_FAILS');
433            FND_MSG_PUB.Add;
434            x_return_status := FND_API.G_RET_STS_ERROR ;
435           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
436 
437  WHEN NO_DATA_FOUND  THEN
438 	rollback to IEM_MAIL_REROUTE_PVT;
439            FND_MESSAGE.SET_NAME('IEM','IEM_INVALID_REROUTE_RECORD');
440            FND_MSG_PUB.Add;
441            x_return_status := FND_API.G_RET_STS_ERROR ;
442           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
443  WHEN REROUTING_FAILS  THEN
444 	rollback to IEM_MAIL_REROUTE_PVT;
445            FND_MESSAGE.SET_NAME('IEM','IEM_REROUTING_FAILS');
446            FND_MSG_PUB.Add;
447            x_return_status := FND_API.G_RET_STS_ERROR ;
448           FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
449 
450    WHEN FND_API.G_EXC_ERROR THEN
451 	rollback to IEM_MAIL_REROUTE_PVT;
452        x_return_status := FND_API.G_RET_STS_ERROR ;
453        FND_MSG_PUB.Count_And_Get
454 			( p_count => x_msg_count,
455                  	p_data  =>      x_msg_data
456 			);
457 
458    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459 	rollback to IEM_MAIL_REROUTE_PVT;
460        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
461        FND_MSG_PUB.Count_And_Get
462 			( p_count => x_msg_count,
463                  	p_data  =>      x_msg_data
464 			);
465  WHEN OTHERS then
466 	rollback to IEM_MAIL_REROUTE_PVT;
467       x_return_status := FND_API.G_RET_STS_ERROR;
468 	IF 	FND_MSG_PUB.Check_Msg_Level
469 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
470 		THEN
471         		FND_MSG_PUB.Add_Exc_Msg
472     	    		(	G_PKG_NAME  	    ,
473     	    			l_api_name
474 	    		);
475 		END IF;
476 		FND_MSG_PUB.Count_And_Get
477     		( p_count         	=>      x_msg_count     	,
478         	p_data          	=>      x_msg_data
479     		);
480 END IEM_MAIL_REROUTE_ACCOUNT;
481 	PROCEDURE 	IEM_UPD_GRP_QUEMSG(
482         				p_Api_Version_Number 	  IN NUMBER,
483         				p_Init_Msg_List  		  IN VARCHAR2     ,
484         				p_Commit    			  IN VARCHAR2     ,
485       				p_msg_ids_tbl IN  		  jtf_varchar2_Table_100,
486 					p_group_id 		in number,
487 					x_upd_count	 out nocopy number,
488         				x_msg_count   		      OUT NOCOPY  NUMBER,
489        				x_return_status  		  OUT NOCOPY  VARCHAR2,
490       				x_msg_data   			  OUT NOCOPY  VARCHAR2) IS
491 	l_api_name        		VARCHAR2(255):='IEM_UPD_GRP_QUEMSG';
492 	l_api_version_number 	NUMBER:=1.0;
493 	l_upd_count			number:=0;
494 
495 	BEGIN
496 -- Standard Start of API savepoint
497 SAVEPOINT		IEM_UPD_GRP_QUEMSG_PVT;
498 -- Standard call to check for call compatibility.
499 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
500 				    p_api_version_number,
501 				    l_api_name,
502 				    G_PKG_NAME)
503 THEN
504 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
505 END IF;
506 -- Initialize message list if p_init_msg_list is set to TRUE.
507    IF p_init_msg_list ='T'
508    THEN
509      FND_MSG_PUB.initialize;
510    END IF;
511    x_return_status := FND_API.G_RET_STS_SUCCESS;
512  IF p_msg_ids_tbl.count>0 THEN
513 	FOR i IN p_msg_ids_tbl.first..p_msg_ids_tbl.last LOOP
514 		update iem_rt_proc_emails
515 		set group_id=p_group_id
516 		where message_id=to_number(p_msg_ids_tbl(i));
517 		l_upd_count:=l_upd_count+1;
518 	END LOOP;
519 		x_upd_count:=l_upd_count;
520 ELSE
521 		x_upd_count:=0;
522 END IF;
523 
524 -- Standard Check Of p_commit.
525 	IF p_commit='T' THEN
526 		COMMIT WORK;
527 	END IF;
528 EXCEPTION   WHEN FND_API.G_EXC_ERROR THEN
529 	rollback to IEM_UPD_GRP_QUEMSG_PVT;
530        x_return_status := FND_API.G_RET_STS_ERROR ;
531        FND_MSG_PUB.Count_And_Get
532 			( p_count => x_msg_count,
533                  	p_data  =>      x_msg_data
534 			);
535 
536    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
537 	rollback to IEM_UPD_GRP_QUEMSG_PVT;
538        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
539        FND_MSG_PUB.Count_And_Get
540 			( p_count => x_msg_count,
541                  	p_data  =>      x_msg_data
542 			);
543  WHEN OTHERS then
544 	rollback to IEM_UPD_GRP_QUEMSG_PVT;
545       x_return_status := FND_API.G_RET_STS_ERROR;
546 	IF 	FND_MSG_PUB.Check_Msg_Level
547 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
548 		THEN
549         		FND_MSG_PUB.Add_Exc_Msg
550     	    		(	G_PKG_NAME  	    ,
551     	    			l_api_name
552 	    		);
553 		END IF;
554 		FND_MSG_PUB.Count_And_Get
555     		( p_count         	=>      x_msg_count     	,
556         	p_data          	=>      x_msg_data
557     		);
558 END IEM_UPD_GRP_QUEMSG;
559 
560 	PROCEDURE 	IEM_MAIL_REDIRECT_ACCOUNT(
561         				p_Api_Version_Number 	  IN NUMBER,
562         				p_Init_Msg_List  		  IN VARCHAR2     ,
563         				p_Commit    			  IN VARCHAR2     ,
564 					p_msgid in number,
565 					p_email_account_id in number,
566 					p_uid in number,
567         				x_msg_count   		      OUT NOCOPY  NUMBER,
568        				x_return_status  		  OUT NOCOPY  VARCHAR2,
569       				x_msg_data   			  OUT NOCOPY  VARCHAR2) IS
570 					--This api is stubbed out as it is not required for 11ix RT 09/30/04
571 begin
572 	null;
573 
574 end iem_mail_redirect_account ;
575 end ;