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