34: BEGIN
35: -- Standard Start of API savepoint
36: SAVEPOINT Get_SuggResponse_PUB;
37: -- Standard call to check for call compatibility.
38: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
39: p_api_version_number,
40: l_api_name,
41: G_PKG_NAME)
42: THEN
39: p_api_version_number,
40: l_api_name,
41: G_PKG_NAME)
42: THEN
43: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
44: END IF;
45: -- Initialize message list if p_init_msg_list is set to TRUE.
46: IF FND_API.to_Boolean( p_init_msg_list )
47: THEN
42: THEN
43: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
44: END IF;
45: -- Initialize message list if p_init_msg_list is set to TRUE.
46: IF FND_API.to_Boolean( p_init_msg_list )
47: THEN
48: FND_MSG_PUB.initialize;
49: END IF;
50: -- Initialize API return status to SUCCESS
47: THEN
48: FND_MSG_PUB.initialize;
49: END IF;
50: -- Initialize API return status to SUCCESS
51: x_return_status := FND_API.G_RET_STS_SUCCESS;
52: for c_kb_rec in kb_results_csr
53: LOOP
54: x_Email_SuggResp_tbl(l_index).document_id:=c_kb_rec.document_id;
55: x_Email_SuggResp_tbl(l_index).score:=c_kb_rec.score;
60: x_Email_SuggResp_tbl(l_index).document_last_modified_date:=c_kb_rec.doc_last_modified_date;
61: l_index:=l_index+1;
62: END LOOP;
63: -- Standard Check Of p_commit.
64: IF FND_API.To_Boolean(p_commit) THEN
65: COMMIT WORK;
66: END IF;
67: -- Standard callto get message count and if count is 1, get message info.
68: FND_MSG_PUB.Count_And_Get
69: ( p_count => x_msg_count,
70: p_data => x_msg_data
71: );
72: EXCEPTION
73: WHEN FND_API.G_EXC_ERROR THEN
74: ROLLBACK TO Get_SuggResponse_PUB;
75: x_return_status := FND_API.G_RET_STS_ERROR ;
76: FND_MSG_PUB.Count_And_Get
77: ( p_count => x_msg_count,
71: );
72: EXCEPTION
73: WHEN FND_API.G_EXC_ERROR THEN
74: ROLLBACK TO Get_SuggResponse_PUB;
75: x_return_status := FND_API.G_RET_STS_ERROR ;
76: FND_MSG_PUB.Count_And_Get
77: ( p_count => x_msg_count,
78: p_data => x_msg_data
79: );
76: FND_MSG_PUB.Count_And_Get
77: ( p_count => x_msg_count,
78: p_data => x_msg_data
79: );
80: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
81: ROLLBACK TO Get_SuggResponse_PUB;
82: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
83: FND_MSG_PUB.Count_And_Get
84: ( p_count => x_msg_count,
78: p_data => x_msg_data
79: );
80: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
81: ROLLBACK TO Get_SuggResponse_PUB;
82: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
83: FND_MSG_PUB.Count_And_Get
84: ( p_count => x_msg_count,
85: p_data => x_msg_data
86: );
85: p_data => x_msg_data
86: );
87: WHEN OTHERS THEN
88: ROLLBACK TO Get_SuggResponse_PUB;
89: x_return_status := FND_API.G_RET_STS_ERROR;
90: IF FND_MSG_PUB.Check_Msg_Level
91: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
92: THEN
93: FND_MSG_PUB.Add_Exc_Msg
134: BEGIN
135: --Standard Start of API savepoint
136: SAVEPOINT Get_KBCategories_PUB;
137: -- Standard call to check for call compatibility.
138: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
139: p_api_version_number,
140: l_api_name,
141: G_PKG_NAME)
142: THEN
139: p_api_version_number,
140: l_api_name,
141: G_PKG_NAME)
142: THEN
143: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
144: END IF;
145: -- Initialize message list if p_init_msg_list is set to TRUE.
146: IF FND_API.to_Boolean( p_init_msg_list )
147: THEN
142: THEN
143: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
144: END IF;
145: -- Initialize message list if p_init_msg_list is set to TRUE.
146: IF FND_API.to_Boolean( p_init_msg_list )
147: THEN
148: FND_MSG_PUB.initialize;
149: END IF;
150: -- Initialize API return status to SUCCESS
147: THEN
148: FND_MSG_PUB.initialize;
149: END IF;
150: -- Initialize API return status to SUCCESS
151: x_return_status := FND_API.G_RET_STS_SUCCESS;
152: /*
153: -- Populating The pl/sql Table With some dummy Data
154: x_KB_Cat_tbl(1).display_name:='Category Display Name';
155: x_KB_Cat_tbl(1).is_repository:='N';
174: EXCEPTION
175: WHEN OTHERS THEN NULL;
176: END;
177: -- Standard Check Of p_commit.
178: IF FND_API.To_Boolean(p_commit) THEN
179: COMMIT WORK;
180: END IF;
181: -- Standard callto get message count and if count is 1, get message info.
182: FND_MSG_PUB.Count_And_Get
183: ( p_count => x_msg_count,
184: p_data => x_msg_data
185: );
186: EXCEPTION
187: WHEN FND_API.G_EXC_ERROR THEN
188: ROLLBACK TO Get_KBCategories_PUB;
189: x_return_status := FND_API.G_RET_STS_ERROR ;
190: FND_MSG_PUB.Count_And_Get
191: ( p_count => x_msg_count,
185: );
186: EXCEPTION
187: WHEN FND_API.G_EXC_ERROR THEN
188: ROLLBACK TO Get_KBCategories_PUB;
189: x_return_status := FND_API.G_RET_STS_ERROR ;
190: FND_MSG_PUB.Count_And_Get
191: ( p_count => x_msg_count,
192: p_data => x_msg_data
193: );
190: FND_MSG_PUB.Count_And_Get
191: ( p_count => x_msg_count,
192: p_data => x_msg_data
193: );
194: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
195: ROLLBACK TO Get_KBCategories_PUB;
196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
197: FND_MSG_PUB.Count_And_Get
198: ( p_count => x_msg_count,
192: p_data => x_msg_data
193: );
194: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
195: ROLLBACK TO Get_KBCategories_PUB;
196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
197: FND_MSG_PUB.Count_And_Get
198: ( p_count => x_msg_count,
199: p_data => x_msg_data
200: );
199: p_data => x_msg_data
200: );
201: WHEN OTHERS THEN
202: ROLLBACK TO Get_KBCategories_PUB;
203: x_return_status := FND_API.G_RET_STS_ERROR;
204: IF FND_MSG_PUB.Check_Msg_Level
205: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
206: THEN
207: FND_MSG_PUB.Add_Exc_Msg
230: BEGIN
231: --Standard Start of API savepoint
232: SAVEPOINT Delete_ResultsCache_PUB;
233: -- Standard call to check for call compatibility.
234: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
235: p_api_version_number,
236: l_api_name,
237: G_PKG_NAME)
238: THEN
235: p_api_version_number,
236: l_api_name,
237: G_PKG_NAME)
238: THEN
239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
240: END IF;
241: -- Initialize message list if p_init_msg_list is set to TRUE.
242: IF FND_API.to_Boolean( p_init_msg_list )
243: THEN
238: THEN
239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
240: END IF;
241: -- Initialize message list if p_init_msg_list is set to TRUE.
242: IF FND_API.to_Boolean( p_init_msg_list )
243: THEN
244: FND_MSG_PUB.initialize;
245: END IF;
246: -- Initialize API return status to SUCCESS
243: THEN
244: FND_MSG_PUB.initialize;
245: END IF;
246: -- Initialize API return status to SUCCESS
247: x_return_status := FND_API.G_RET_STS_SUCCESS;
248: DELETE FROM IEM_KB_RESULTS
249: WHERE email_account_id=p_email_account_id
250: and message_id=p_message_id;
251: DELETE FROM IEM_email_classifications
252: WHERE email_account_id=p_email_account_id
253: and message_id=p_message_id;
254:
255: -- Standard Check Of p_commit.
256: IF FND_API.To_Boolean(p_commit) THEN
257: COMMIT WORK;
258: END IF;
259: -- Standard callto get message count and if count is 1, get message info.
260: FND_MSG_PUB.Count_And_Get
261: ( p_count => x_msg_count,
262: p_data => x_msg_data
263: );
264: EXCEPTION
265: WHEN FND_API.G_EXC_ERROR THEN
266: ROLLBACK TO Delete_Resultscache_PUB;
267: x_return_status := FND_API.G_RET_STS_ERROR ;
268: FND_MSG_PUB.Count_And_Get
269: ( p_count => x_msg_count,
263: );
264: EXCEPTION
265: WHEN FND_API.G_EXC_ERROR THEN
266: ROLLBACK TO Delete_Resultscache_PUB;
267: x_return_status := FND_API.G_RET_STS_ERROR ;
268: FND_MSG_PUB.Count_And_Get
269: ( p_count => x_msg_count,
270: p_data => x_msg_data
271: );
268: FND_MSG_PUB.Count_And_Get
269: ( p_count => x_msg_count,
270: p_data => x_msg_data
271: );
272: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
273: ROLLBACK TO Delete_Resultscache_PUB;
274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
275: FND_MSG_PUB.Count_And_Get
276: ( p_count => x_msg_count,
270: p_data => x_msg_data
271: );
272: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
273: ROLLBACK TO Delete_Resultscache_PUB;
274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
275: FND_MSG_PUB.Count_And_Get
276: ( p_count => x_msg_count,
277: p_data => x_msg_data
278: );
277: p_data => x_msg_data
278: );
279: WHEN OTHERS THEN
280: ROLLBACK TO Delete_Resultscache_PUB;
281: x_return_status := FND_API.G_RET_STS_ERROR;
282: IF FND_MSG_PUB.Check_Msg_Level
283: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
284: THEN
285: FND_MSG_PUB.Add_Exc_Msg
327: BEGIN
328: -- Standard Start of API savepoint
329: SAVEPOINT Get_SuggResponse_PUB;
330: -- Standard call to check for call compatibility.
331: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
332: p_api_version_number,
333: l_api_name,
334: G_PKG_NAME)
335: THEN
332: p_api_version_number,
333: l_api_name,
334: G_PKG_NAME)
335: THEN
336: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
337: END IF;
338: -- Initialize message list if p_init_msg_list is set to TRUE.
339: IF FND_API.to_Boolean( p_init_msg_list )
340: THEN
335: THEN
336: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
337: END IF;
338: -- Initialize message list if p_init_msg_list is set to TRUE.
339: IF FND_API.to_Boolean( p_init_msg_list )
340: THEN
341: FND_MSG_PUB.initialize;
342: END IF;
343: -- Initialize API return status to SUCCESS
340: THEN
341: FND_MSG_PUB.initialize;
342: END IF;
343: -- Initialize API return status to SUCCESS
344: x_return_status := FND_API.G_RET_STS_SUCCESS;
345: -- iem_mailpreproc_pub.iem_wf_specificsearch(p_message_id,p_email_account_id,p_classification_id,l_stat,l_out_text);
346: for c_kb_rec in kb_results_csr
347: LOOP
348: x_Email_SuggResp_tbl(l_index).document_id:=c_kb_rec.document_id;
354: x_Email_SuggResp_tbl(l_index).document_last_modified_date:=c_kb_rec.doc_last_modified_date;
355: l_index:=l_index+1;
356: END LOOP;
357: -- Standard Check Of p_commit.
358: IF FND_API.To_Boolean(p_commit) THEN
359: COMMIT WORK;
360: END IF;
361: -- Standard callto get message count and if count is 1, get message info.
362: FND_MSG_PUB.Count_And_Get
363: ( p_count => x_msg_count,
364: p_data => x_msg_data
365: );
366: EXCEPTION
367: WHEN FND_API.G_EXC_ERROR THEN
368: ROLLBACK TO Get_SuggResponse_PUB;
369: x_return_status := FND_API.G_RET_STS_ERROR ;
370: FND_MSG_PUB.Count_And_Get
371: ( p_count => x_msg_count,
365: );
366: EXCEPTION
367: WHEN FND_API.G_EXC_ERROR THEN
368: ROLLBACK TO Get_SuggResponse_PUB;
369: x_return_status := FND_API.G_RET_STS_ERROR ;
370: FND_MSG_PUB.Count_And_Get
371: ( p_count => x_msg_count,
372: p_data => x_msg_data
373: );
370: FND_MSG_PUB.Count_And_Get
371: ( p_count => x_msg_count,
372: p_data => x_msg_data
373: );
374: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
375: ROLLBACK TO Get_SuggResponse_PUB;
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
377: FND_MSG_PUB.Count_And_Get
378: ( p_count => x_msg_count,
372: p_data => x_msg_data
373: );
374: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
375: ROLLBACK TO Get_SuggResponse_PUB;
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
377: FND_MSG_PUB.Count_And_Get
378: ( p_count => x_msg_count,
379: p_data => x_msg_data
380: );
379: p_data => x_msg_data
380: );
381: WHEN OTHERS THEN
382: ROLLBACK TO Get_SuggResponse_PUB;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: IF FND_MSG_PUB.Check_Msg_Level
385: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
386: THEN
387: FND_MSG_PUB.Add_Exc_Msg
439: BEGIN
440: -- Standard Start of API savepoint
441: SAVEPOINT Get_SuggResponse_PUB;
442: -- Standard call to check for call compatibility.
443: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
444: p_api_version_number,
445: l_api_name,
446: G_PKG_NAME)
447: THEN
444: p_api_version_number,
445: l_api_name,
446: G_PKG_NAME)
447: THEN
448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
449: END IF;
450: -- Initialize message list if p_init_msg_list is set to TRUE.
451: IF FND_API.to_Boolean( p_init_msg_list )
452: THEN
447: THEN
448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
449: END IF;
450: -- Initialize message list if p_init_msg_list is set to TRUE.
451: IF FND_API.to_Boolean( p_init_msg_list )
452: THEN
453: FND_MSG_PUB.initialize;
454: END IF;
455: -- Initialize API return status to SUCCESS
452: THEN
453: FND_MSG_PUB.initialize;
454: END IF;
455: -- Initialize API return status to SUCCESS
456: x_return_status := FND_API.G_RET_STS_SUCCESS;
457: select count(*) into l_doc_count
458: from iem_kb_results
459: WHERE EMAIL_ACCOUNT_ID = p_EMAIL_ACCOUNT_ID
460: AND MESSAGE_ID = p_MESSAGE_ID
511: l_doc_counter:=l_doc_counter+1;
512: EXIT when l_doc_counter>10;
513: END LOOP;
514: -- Standard Check Of p_commit.
515: IF FND_API.To_Boolean(p_commit) THEN
516: COMMIT WORK;
517: END IF;
518: -- Standard callto get message count and if count is 1, get message info.
519: FND_MSG_PUB.Count_And_Get
520: ( p_count => x_msg_count,
521: p_data => x_msg_data
522: );
523: EXCEPTION
524: WHEN FND_API.G_EXC_ERROR THEN
525: ROLLBACK TO Get_SuggResponse_PUB;
526: x_return_status := FND_API.G_RET_STS_ERROR ;
527: FND_MSG_PUB.Count_And_Get
528: ( p_count => x_msg_count,
522: );
523: EXCEPTION
524: WHEN FND_API.G_EXC_ERROR THEN
525: ROLLBACK TO Get_SuggResponse_PUB;
526: x_return_status := FND_API.G_RET_STS_ERROR ;
527: FND_MSG_PUB.Count_And_Get
528: ( p_count => x_msg_count,
529: p_data => x_msg_data
530: );
527: FND_MSG_PUB.Count_And_Get
528: ( p_count => x_msg_count,
529: p_data => x_msg_data
530: );
531: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
532: ROLLBACK TO Get_SuggResponse_PUB;
533: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
534: FND_MSG_PUB.Count_And_Get
535: ( p_count => x_msg_count,
529: p_data => x_msg_data
530: );
531: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
532: ROLLBACK TO Get_SuggResponse_PUB;
533: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
534: FND_MSG_PUB.Count_And_Get
535: ( p_count => x_msg_count,
536: p_data => x_msg_data
537: );
536: p_data => x_msg_data
537: );
538: WHEN OTHERS THEN
539: ROLLBACK TO Get_SuggResponse_PUB;
540: x_return_status := FND_API.G_RET_STS_ERROR;
541: IF FND_MSG_PUB.Check_Msg_Level
542: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
543: THEN
544: FND_MSG_PUB.Add_Exc_Msg
585: BEGIN
586: -- Standard Start of API savepoint
587: SAVEPOINT Get_SuggResponse_PUB;
588: -- Standard call to check for call compatibility.
589: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
590: p_api_version_number,
591: l_api_name,
592: G_PKG_NAME)
593: THEN
590: p_api_version_number,
591: l_api_name,
592: G_PKG_NAME)
593: THEN
594: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
595: END IF;
596: -- Initialize message list if p_init_msg_list is set to TRUE.
597: IF FND_API.to_Boolean( p_init_msg_list )
598: THEN
593: THEN
594: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
595: END IF;
596: -- Initialize message list if p_init_msg_list is set to TRUE.
597: IF FND_API.to_Boolean( p_init_msg_list )
598: THEN
599: FND_MSG_PUB.initialize;
600: END IF;
601: -- Initialize API return status to SUCCESS
598: THEN
599: FND_MSG_PUB.initialize;
600: END IF;
601: -- Initialize API return status to SUCCESS
602: x_return_status := FND_API.G_RET_STS_SUCCESS;
603: for c_kb_rec in kb_results_csr
604: LOOP
605: x_Email_SuggResp_tbl(l_index).document_id:=c_kb_rec.document_id;
606: x_Email_SuggResp_tbl(l_index).score:=c_kb_rec.score;
611: x_Email_SuggResp_tbl(l_index).document_last_modified_date:=c_kb_rec.doc_last_modified_date;
612: l_index:=l_index+1;
613: END LOOP;
614: -- Standard Check Of p_commit.
615: IF FND_API.To_Boolean(p_commit) THEN
616: COMMIT WORK;
617: END IF;
618: -- Standard callto get message count and if count is 1, get message info.
619: FND_MSG_PUB.Count_And_Get
620: ( p_count => x_msg_count,
621: p_data => x_msg_data
622: );
623: EXCEPTION
624: WHEN FND_API.G_EXC_ERROR THEN
625: ROLLBACK TO Get_SuggResponse_PUB;
626: x_return_status := FND_API.G_RET_STS_ERROR ;
627: FND_MSG_PUB.Count_And_Get
628: ( p_count => x_msg_count,
622: );
623: EXCEPTION
624: WHEN FND_API.G_EXC_ERROR THEN
625: ROLLBACK TO Get_SuggResponse_PUB;
626: x_return_status := FND_API.G_RET_STS_ERROR ;
627: FND_MSG_PUB.Count_And_Get
628: ( p_count => x_msg_count,
629: p_data => x_msg_data
630: );
627: FND_MSG_PUB.Count_And_Get
628: ( p_count => x_msg_count,
629: p_data => x_msg_data
630: );
631: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
632: ROLLBACK TO Get_SuggResponse_PUB;
633: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
634: FND_MSG_PUB.Count_And_Get
635: ( p_count => x_msg_count,
629: p_data => x_msg_data
630: );
631: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
632: ROLLBACK TO Get_SuggResponse_PUB;
633: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
634: FND_MSG_PUB.Count_And_Get
635: ( p_count => x_msg_count,
636: p_data => x_msg_data
637: );
636: p_data => x_msg_data
637: );
638: WHEN OTHERS THEN
639: ROLLBACK TO Get_SuggResponse_PUB;
640: x_return_status := FND_API.G_RET_STS_ERROR;
641: IF FND_MSG_PUB.Check_Msg_Level
642: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
643: THEN
644: FND_MSG_PUB.Add_Exc_Msg