[Home] [Help]
PACKAGE BODY: APPS.IBU_MES_BIN
Source
1 package body ibu_mes_bin as
2 /* $Header: ibuhmesb.pls 115.23 2002/11/05 20:23:21 ktma ship $ */
3
4 -- ---------------------------------------------------------
5 -- Define global variables and types
6 -- ---------------------------------------------------------
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'IBU_MES_BIN';
8
9 type FilterData IS RECORD (
10 name VARCHAR2(60) := '',
11 value VARCHAR2(300) := ''
12 );
13 type FilterDataList is table of FilterData;
14
15 -- ---------------------------------------------------------
16 -- Define private functions/procedures
17 -- ---------------------------------------------------------
18
19 procedure get_mes_filter (app_Id NUMBER,
20 filter_list out NOCOPY FilterDataList)
21 as
22 l_return_status VARCHAR2(240);
23 l_api_version NUMBER;
24 l_init_msg_list VARCHAR2(240);
25 l_commit VARCHAR2(240);
26
27 l_msg_count NUMBER;
28 l_msg_data VARCHAR2(2000);
29 l_err_msg VARCHAR2(240);
30
31 l_profile_id NUMBER;
32 l_profile_name VARCHAR2(60);
33 l_profile_type VARCHAR2(30);
34 l_profile_attrib_tbl JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE;
35
36 l_application_id NUMBER;
37
38 l_perz_data_id NUMBER;
39 l_perz_data_name VARCHAR2(60);
40 l_perz_data_type VARCHAR2(30);
41 l_perz_data_desc VARCHAR2(240);
42 l_data_attrib_tbl JTF_PERZ_DATA_PUB.DATA_ATTRIB_TBL_TYPE ;
43 l_data_out_tbl JTF_PERZ_DATA_PUB.DATA_OUT_TBL_TYPE;
44
45 out_perz_data_id NUMBER;
46
47 out_perz_data_name VARCHAR2(60);
48 out_perz_data_type VARCHAR2(30);
49 out_perz_data_desc VARCHAR2(240);
50
51 data FilterData;
52 ind NUMBER := 1;
53 begin
54
55 l_api_version := 1.0;
56 l_init_msg_list := FND_API.G_TRUE;
57 l_application_id := app_Id;
58 l_perz_data_name := 'IBU_A_CATEGORY';
59 l_profile_name := 'IBU_A_PROFILE00';
60
61 JTF_PERZ_DATA_PVT.Get_Perz_Data
62 (
63 p_api_version_number => l_api_version,
64 p_init_msg_list => l_init_msg_list,
65 p_application_id => l_application_id,
66 p_profile_id => l_profile_id,
67 p_profile_name => l_profile_name,
68 p_perz_data_id => l_perz_data_id,
69 p_perz_data_name => l_perz_data_name,
70 p_perz_data_type => l_perz_data_type,
71
72 x_perz_data_id => out_perz_data_id,
73 x_perz_data_name => out_perz_data_name,
74 x_perz_data_type => out_perz_data_type,
75 x_perz_data_desc => out_perz_data_desc,
76 x_data_attrib_tbl => l_data_attrib_tbl,
77
78 x_return_status => l_return_status,
79 x_msg_count => l_msg_count,
80 x_msg_data => l_msg_data
81 );
82
83
84 filter_list := FilterDataList ();
85 FOR f_curr_row IN 1..l_data_attrib_tbl.count
86 LOOP
87 data.name := l_data_attrib_tbl (f_curr_row).ATTRIBUTE_NAME;
88 /* dbms_output.put_line ('NAme=' || data.name); */
89 data.value := l_data_attrib_tbl (f_curr_row).ATTRIBUTE_VALUE;
90
91 filter_list.extend ();
92 filter_list (ind) := data;
93 ind := ind + 1;
94 END LOOP;
95 end get_mes_filter;
96
97 -----------------------------------------------------------
98 -- Return the close url
99 -- ---------------------------------------------------------
100 procedure get_close_url (bin_id NUMBER, url out NOCOPY varchar2)
101 as
102 close_jsp VARCHAR2(100);
103 begin
104 close_jsp := 'ibuhpage.jsp?close_binid=' || to_char(bin_id);
105 url := close_jsp;
106 end;
107
108
109 -----------------------------------------------------------
110 -- Define procedure for rendering name.
111 -- ---------------------------------------------------------
112 procedure get_bin_name (p_api_version_number IN NUMBER,
113 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
114 p_commit IN VARCHAR := FND_API.G_FALSE,
115 p_bin_id IN NUMBER,
116 x_return_status OUT NOCOPY VARCHAR2,
117 x_msg_count OUT NOCOPY NUMBER,
118 x_msg_data OUT NOCOPY VARCHAR2,
119 x_bin_name out NOCOPY VARCHAR2)
120 as
121 l_api_name CONSTANT VARCHAR2(30) := 'Get_Bin_Name';
122 l_bin_info IBU_Home_Page_PVT.Bin_Data_Type;
123 l_cat_id NUMBER := null;
124 begin
125 x_return_status := FND_API.G_RET_STS_SUCCESS;
126 x_bin_name := '';
127
128 -- get the bin info
129 IBU_Home_Page_PVT.get_bin_info(p_api_version_number => p_api_version_number,
130 p_init_msg_list => p_init_msg_list,
131 x_return_status => x_return_status,
132 x_msg_count => x_msg_count,
133 x_msg_data => x_msg_data,
134 p_bin_id => p_bin_id,
135 x_bin_info => l_bin_info);
136
137 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
138 raise NO_DATA_FOUND;
139 END IF;
140
141 l_cat_id := l_bin_info.MES_cat_ID;
142 if l_cat_id is not null then
143 -- get the bin name from the view
144 SELECT channel_category_name
145 INTO x_bin_name
146 FROM amv_c_categories_vl
147 WHERE channel_category_id=l_cat_id;
148 end if;
149
150 EXCEPTION
151 WHEN OTHERS THEN
152 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
153 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
154 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
155 END IF;
156 FND_MSG_PUB.Count_And_Get
157 (
158 p_count => x_msg_count ,
159 p_data => x_msg_data
160 );
161 raise;
162
163 end get_bin_name;
164
165 -----------------------------------------------------------
166 -- Define procedure for email text.
167 -- ---------------------------------------------------------
168 procedure get_email_text(p_api_version_number IN NUMBER,
169 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
170 p_commit IN VARCHAR := FND_API.G_FALSE,
171 p_user_id IN NUMBER,
172 p_lang_code IN VARCHAR2,
173 p_bin_id IN NUMBER,
174 x_return_status OUT NOCOPY VARCHAR2,
175 x_msg_count OUT NOCOPY NUMBER,
176 x_msg_data OUT NOCOPY VARCHAR2,
177 x_clob out NOCOPY CLOB)
178 as
179 l_api_name CONSTANT VARCHAR2(30) := 'Get_Email_Text';
180 l_api_version CONSTANT NUMBER := 1.0;
181
182 l_user_id NUMBER := IBU_Home_Page_PVT.get_user_id;
183 l_lang VARCHAR2(5) := IBU_Home_Page_PVT.get_lang_code;
184
185 l_bin_name VARCHAR2(80);
186 l_bin_info IBU_Home_Page_PVT.Bin_Data_Type;
187 l_data IBU_Home_Page_PVT.Filter_Data_Type;
188 l_filter_list IBU_Home_Page_PVT.Filter_Data_List_Type;
189 l_filter_string VARCHAR2(500);
190
191 res_clob CLOB;
192 tmp_str VARCHAR(400);
193 res_str VARCHAR2(1000);
194 amt binary_integer;
195 location integer;
196 batch_size NUMBER := 5;
197 channel_title VARCHAR2(500);
198 items_title VARCHAR2(500);
199
200 item_request_obj AMV_CHANNEL_PVT.AMV_REQUEST_OBJ_TYPE;
201 item_return_obj AMV_CHANNEL_PVT.AMV_RETURN_OBJ_TYPE;
202 items_array AMV_CHANNEL_PVT.AMV_NUMBER_VARRAY_TYPE;
203
204 cats_array AMV_CATEGORY_PVT.AMV_CAT_HIERARCHY_VARRAY_TYPE;
205 channels_array AMV_CATEGORY_PVT.AMV_CAT_HIERARCHY_VARRAY_TYPE;
206
207 item_object AMV_ITEM_PUB.AMV_ITEM_OBJ_TYPE;
208 item_file_array AMV_ITEM_PUB.AMV_NUMBER_VARRAY_TYPE;
209 item_persp_array AMV_ITEM_PUB.AMV_NAMEID_VARRAY_TYPE;
210 item_author_array AMV_ITEM_PUB.AMV_CHAR_VARRAY_TYPE;
211 item_keyword_array AMV_ITEM_PUB.AMV_CHAR_VARRAY_TYPE;
212
213 data FilterData;
214 category_id NUMBER := NULL;
215 s_filter_list FilterDataList;
216 filter_list FilterDataList;
217 newln VARCHAR2(2) := fnd_global.newline();
218 no_items_fnd VARCHAR2(1000);
219
220 begin
221
222 -- Initialize message list if p_init_msg_list is set to TRUE.
223 IF FND_API.to_Boolean( p_init_msg_list ) THEN
224 FND_MSG_PUB.initialize;
225 END IF;
226 -- Initialize API return status to success
227 x_return_status := FND_API.G_RET_STS_SUCCESS;
228
229 -- API Body
230
231 -- do validation
232 IF p_bin_id is NULL OR p_user_id is null THEN
233 x_return_status := FND_API.G_RET_STS_ERROR;
234 RETURN;
235 END IF;
236
237 -- Get the bin name
238 get_bin_name(p_api_version_number => l_api_version,
239 p_init_msg_list => p_init_msg_list,
240 p_bin_id => p_bin_id,
241 x_return_status => x_return_status,
242 x_msg_count => x_msg_count,
243 x_msg_data => x_msg_data,
244 x_bin_name => l_bin_name);
245 /* dbms_output.put_line ('bin_name=' || l_bin_name); */
246
247 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
248 FND_MESSAGE.SET_NAME('IBU','IBU_HOM_BINNAME_ERROR');
249 FND_MSG_PUB.Add;
250 RAISE FND_API.G_EXC_ERROR;
251 END IF;
252
253 IBU_Home_Page_PVT.get_bin_info(p_api_version_number => l_api_version,
254 p_init_msg_list => p_init_msg_list,
255 x_return_status => x_return_status,
256 x_msg_count => x_msg_count,
257 x_msg_data => x_msg_data,
258 p_bin_id => p_bin_id,
259 x_bin_info => l_bin_info);
260
261 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
262 FND_MESSAGE.SET_NAME('IBU','IBU_HOM_BININFO_ERROR');
263 FND_MSG_PUB.Add;
264 RAISE FND_API.G_EXC_ERROR;
265 END IF;
266
267 category_id := l_bin_info.MES_cat_ID;
268 IF (category_id is NULL)
269 THEN
270 /* dbms_output.put_line('No Categories found='); */
271 x_return_status := FND_API.G_RET_STS_ERROR;
272 FND_MESSAGE.SET_NAME('IBU', 'IBU_HOM_NO_CAT_FOR_CNEWS');
273 FND_MSG_PUB.Add;
274 RAISE FND_API.G_EXC_ERROR;
275 END IF;
276
277 IBU_Home_Page_PVT.get_filter_list(p_api_version => l_api_version,
278 x_return_status => x_return_status,
279 x_msg_count => x_msg_count,
280 x_msg_data => x_msg_data,
281 p_user_id => l_user_id,
282 p_bin_id => p_bin_id,
283 x_filter_list => l_filter_list,
284 x_filter_string => l_filter_string);
285
286 IF (NOT (x_return_status = FND_API.G_RET_STS_SUCCESS))
287 OR l_filter_string is null THEN
288 -- no filter criteria exist, so use hard coded default
289 x_return_status := FND_API.G_RET_STS_SUCCESS;
290 l_filter_string := 'end=3';
291 ELSE
292 FOR l_curr_row IN 1..l_filter_list.count()
293 LOOP
294 l_data.name := l_filter_list (l_curr_row).name;
295 l_data.value := l_filter_list (l_curr_row).value;
296
297 if l_data.name IS NOT NULL AND l_data.name like 'end' then
298 batch_size := to_number(l_data.value);
299 exit;
300 end if;
301 END LOOP;
302 END IF;
303
304
305 -- get the channels per category
306
307 AMV_CATEGORY_GRP.Get_CatChildrenHierarchy(p_api_version => 1.0,
308 p_init_msg_list => 'T',
309 x_return_status => x_return_status,
310 x_msg_count => x_msg_count,
311 x_msg_data => x_msg_data,
312 p_check_login_user => 'F',
313 p_category_id => category_id,
314 x_category_hierarchy => cats_array);
315
316 if (x_return_status = 'F')
317 THEN
318 /* dbms_output.put_line('No Items Found='); */
319 fnd_message.set_name('IBU', 'IBU_HOM_ITEMS_ERROR');
320 fnd_msg_pub.Add;
321 RAISE FND_API.G_EXC_ERROR;
322 END IF;
323
324 ---------------------------------------------------------------------------
325 channel_title := IBU_HOME_PAGE_PVT.GET_AK_BIN_PROMPT('IBU_HOM_CNEWS_CHANNEL');
326 items_title := IBU_HOME_PAGE_PVT.GET_AK_BIN_PROMPT('IBU_HOM_CNEWS_ITEMS');
327
328 dbms_lob.createtemporary(res_clob, TRUE, DBMS_LOB.SESSION);
329
330 location := 1;
331
332 -- now fill in the actual bin contents to clob
333 dbms_lob.createtemporary(res_clob, TRUE, DBMS_LOB.SESSION);
334
335 tmp_str := l_bin_name;
336 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
337 dbms_lob.writeappend(res_clob, length(newln), newln);
338
339 for j IN 1 .. cats_array.count LOOP
340
341 if ( cats_array(j).ID <> category_id)
342 THEN
343 -- get items per channel
344 AMV_CATEGORY_GRP.Get_ChannelsPerCategory(p_api_version => 1.0,
345 p_init_msg_list => 'T',
346 x_return_status => x_return_status,
347 x_msg_count => x_msg_count,
348 x_msg_data => x_msg_data,
349 p_check_login_user => 'F',
350 p_category_id => cats_array(j).ID,
351 x_content_chan_array => channels_array);
352
353 if (x_return_status = 'F')
354 THEN
355 x_return_status := FND_API.G_RET_STS_SUCCESS;
356 dbms_lob.writeappend(res_clob,length(newln), newln);
357 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
358 dbms_lob.writeappend(res_clob,length(tmp_str), tmp_str);
359 dbms_lob.writeappend(res_clob,length(newln), newln);
360 exit;
361 END IF;
362
363 item_request_obj.records_requested := batch_size;
364 item_request_obj.start_record_position := 1;
365 item_request_obj.return_total_count_flag := 'T';
366
367 for k IN 1 .. channels_array.count LOOP
368
369 -- get items per channel
370 dbms_lob.writeappend(res_clob, length(newln), newln);
371
372 /* dbms_output.put_line(channels_array(k).ID); */
373 dbms_lob.writeappend(res_clob,length(channel_title),channel_title);
374 dbms_lob.writeappend(res_clob, 2,': ');
375 dbms_lob.writeappend(res_clob,length(channels_array(k).NAME),channels_array(k).NAME);
376 dbms_lob.writeappend(res_clob, length(newln), newln);
377 dbms_lob.writeappend(res_clob,length(items_title),items_title);
378 dbms_lob.writeappend(res_clob,2,': ');
379
380 AMV_CHANNEL_GRP.Get_ItemsPerChannel(p_api_version => 1.0,
381 p_init_msg_list => 'T',
382 x_return_status => x_return_status,
383 x_msg_count => x_msg_count,
384 x_msg_data => x_msg_data,
385 p_check_login_user => 'F',
386 p_channel_id => channels_array(k).ID,
387 p_subset_request_rec => item_request_obj,
388 x_subset_return_rec => item_return_obj,
389 x_document_id_array => items_array);
390
391 if (x_return_status = 'F')
392 THEN
393 x_return_status := FND_API.G_RET_STS_SUCCESS;
394 dbms_lob.writeappend(res_clob,length(newln), newln);
395 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
396 dbms_lob.writeappend(res_clob,length(tmp_str), tmp_str);
397 dbms_lob.writeappend(res_clob,length(newln), newln);
398 exit;
399 END IF;
400
401 for m IN 1 .. items_array.COUNT LOOP
402
403 AMV_ITEM_PUB.get_item(p_api_version => 1.0,
404 p_init_msg_list => 'T',
405 x_return_status => x_return_status,
406 x_msg_count => x_msg_count,
407 x_msg_data => x_msg_data,
408 p_check_login_user => 'F',
409 p_item_id => items_array(m),
410 x_item_obj => item_object,
411 x_file_array => item_file_array,
412 x_persp_array => item_persp_array,
413 x_author_array => item_author_array,
414 x_keyword_array => item_keyword_array);
415
416 if (x_return_status = 'F')
417
418 THEN
419 x_return_status := FND_API.G_RET_STS_SUCCESS;
420 dbms_lob.writeappend(res_clob,length(newln), newln);
421 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
422 dbms_lob.writeappend(res_clob,length(tmp_str), tmp_str);
423 dbms_lob.writeappend(res_clob,length(newln), newln);
424 exit;
425 END IF;
426
427 /* dbms_output.put_line(item_object.item_name); */
428 dbms_lob.writeappend(res_clob, length (item_object.item_name), item_object.item_name);
429 dbms_lob.writeappend(res_clob, 2, ', ');
430
431 end loop;
432
433 dbms_lob.writeappend(res_clob, length(newln), newln);
434 end loop;
435
436 END IF;
437
438 end loop;
439 x_clob := res_clob;
440 dbms_lob.freetemporary(res_clob);
441 EXCEPTION
442 WHEN FND_API.G_EXC_ERROR THEN
443 FND_MSG_PUB.Count_And_Get
444 (p_count => x_msg_count ,
445 p_data => x_msg_data
446 );
447
448 WHEN OTHERS THEN
449 -- ROLLBACK TO Get_Filter;
450 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
451 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
452 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
453 END IF;
454 FND_MSG_PUB.Count_And_Get
455 (p_count => x_msg_count ,
456 p_data => x_msg_data
457 );
458
459 end get_email_text;
460
461 -----------------------------------------------------------
462 -- Define procedure for rendering html.
463 -- ---------------------------------------------------------
464 procedure get_html (p_api_version_number IN NUMBER,
465 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
466 p_commit IN VARCHAR := FND_API.G_FALSE,
467 p_bin_id IN NUMBER,
468 p_cookie_url IN VARCHAR2,
469 x_return_status OUT NOCOPY VARCHAR2,
470 x_msg_count OUT NOCOPY NUMBER,
471 x_msg_data OUT NOCOPY VARCHAR2,
472 x_clob out NOCOPY CLOB)
473 as
474 l_api_name CONSTANT VARCHAR2(30) := 'Get_HTML';
475 l_api_version CONSTANT NUMBER := 1.0;
476
477 l_user_id NUMBER := IBU_Home_Page_PVT.get_user_id;
478 l_lang VARCHAR2(5) := IBU_Home_Page_PVT.get_lang_code;
479
480 l_bin_name VARCHAR2(80);
481 l_bin_info IBU_Home_Page_PVT.Bin_Data_Type;
482 header_format VARCHAR2(30) := 'tableSubHeaderCell';
483 cell_format VARCHAR2(20) := 'tableDataCell';
484 tmp_str VARCHAR2 (5000);
485 header_str VARCHAR2 (13000);
486 res_clob CLOB;
487 newln VARCHAR2(2) := fnd_global.newline ();
488 s_all_header_prompts IBU_HOME_PAGE_PVT.IBU_STR_ARR;
489
490 l_data IBU_Home_Page_PVT.Filter_Data_Type;
491 l_filter_list IBU_Home_Page_PVT.Filter_Data_List_Type;
492 l_filter_string VARCHAR2(500);
493
494 l_edit_url VARCHAR2(5000);
495 l_close_url VARCHAR2(5000);
496 l_detail_url VARCHAR2(5000);
497 l_more_url VARCHAR2(1000);
498 l_go_url VARCHAR2(1000);
499
500 res_str VARCHAR2(1000);
501 amt binary_integer;
502 location integer;
503 batch_size NUMBER := 3;
504 channel_title VARCHAR2(500);
505 urlformat_channel_name VARCHAR2(500):='';
506 channel_name VARCHAR2 (500);
507 items_title VARCHAR2(500);
508
509 item_request_obj AMV_CHANNEL_PVT.AMV_REQUEST_OBJ_TYPE;
510 item_return_obj AMV_CHANNEL_PVT.AMV_RETURN_OBJ_TYPE;
511 items_array AMV_CHANNEL_PVT.AMV_NUMBER_VARRAY_TYPE;
512
513 cats_array AMV_CATEGORY_PVT.AMV_CAT_HIERARCHY_VARRAY_TYPE;
514 channels_array AMV_CATEGORY_PVT.AMV_CAT_HIERARCHY_VARRAY_TYPE;
515
516 item_object AMV_ITEM_PUB.AMV_ITEM_OBJ_TYPE;
517 item_file_array AMV_ITEM_PUB.AMV_NUMBER_VARRAY_TYPE;
518 item_persp_array AMV_ITEM_PUB.AMV_NAMEID_VARRAY_TYPE;
519 item_author_array AMV_ITEM_PUB.AMV_CHAR_VARRAY_TYPE;
520 item_keyword_array AMV_ITEM_PUB.AMV_CHAR_VARRAY_TYPE;
521
522 category_id NUMBER := NULL;
523 no_items_fnd VARCHAR2(1000);
524 DETAIL_URL VARCHAR2(5000) := 'ibukmipc.jsp';
525 url VARCHAR2(5000);
526
527 no_items_exist VARCHAR2(100) := FND_API.G_TRUE;
528 begin
529 -- Initialize message list if p_init_msg_list is set to TRUE.
530 IF FND_API.to_Boolean( p_init_msg_list ) THEN
531 FND_MSG_PUB.initialize;
532 END IF;
533 -- Initialize API return status to success
534 x_return_status := FND_API.G_RET_STS_SUCCESS;
535
536 -- API Body
537
538 -- do validation
539 IF p_bin_id is NULL THEN
540 x_return_status := FND_API.G_RET_STS_ERROR;
541 FND_MESSAGE.SET_NAME('IBU','IBU_HOM_BIN_ID_MISSING');
542 FND_MSG_PUB.Add;
543 RAISE FND_API.G_EXC_ERROR;
544 END IF;
545
546 -- Get the bin name, the mandatory flag
547
548 get_bin_name(p_api_version_number => l_api_version,
549 p_init_msg_list => p_init_msg_list,
550 p_bin_id => p_bin_id,
551 x_return_status => x_return_status,
552 x_msg_count => x_msg_count,
553 x_msg_data => x_msg_data,
554 x_bin_name => l_bin_name);
555
556 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
557 FND_MESSAGE.SET_NAME('IBU','IBU_HOM_BINNAME_ERROR');
558 FND_MSG_PUB.Add;
559 RAISE FND_API.G_EXC_ERROR;
560 END IF;
561
562 IBU_Home_Page_PVT.get_bin_info(p_api_version_number => l_api_version,
563 p_init_msg_list => p_init_msg_list,
564 x_return_status => x_return_status,
565 x_msg_count => x_msg_count,
566 x_msg_data => x_msg_data,
567 p_bin_id => p_bin_id,
568 x_bin_info => l_bin_info);
569
570 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
571 FND_MESSAGE.SET_NAME('IBU','IBU_HOM_BININFO_ERROR');
572 FND_MSG_PUB.Add;
573 RAISE FND_API.G_EXC_ERROR;
574 END IF;
575
576 category_id := l_bin_info.MES_cat_ID;
577 IF (category_id is NULL)
578 THEN
579 /* dbms_output.put_line('No Categories found=');*/
580 x_return_status := FND_API.G_RET_STS_ERROR;
581 FND_MESSAGE.SET_NAME('IBU', 'IBU_HOM_NO_CAT_FOR_CNEWS');
582 FND_MSG_PUB.Add;
583 RAISE FND_API.G_EXC_ERROR;
584 END IF;
585
586 IBU_Home_Page_PVT.get_filter_list(p_api_version => l_api_version,
587 x_return_status => x_return_status,
588 x_msg_count => x_msg_count,
589 x_msg_data => x_msg_data,
590 p_user_id => l_user_id,
591 p_bin_id => p_bin_id,
592 x_filter_list => l_filter_list,
593 x_filter_string => l_filter_string);
594
595 IF (NOT (x_return_status = FND_API.G_RET_STS_SUCCESS))
596 OR l_filter_string is null THEN
597 -- no filter criteria exist, so use hard coded default
598 x_return_status := FND_API.G_RET_STS_SUCCESS;
599 l_filter_string := 'end=3';
600 ELSE
601 FOR l_curr_row IN 1..l_filter_list.count()
602 LOOP
603 l_data.name := l_filter_list (l_curr_row).name;
604 l_data.value := l_filter_list (l_curr_row).value;
605
606 if l_data.name IS NOT NULL AND l_data.name like 'end' then
607 batch_size := to_number(l_data.value);
608 exit;
609 end if;
610 END LOOP;
611 END IF;
612
613 l_edit_url := IBU_Home_Page_PVT.get_edit_bin_url(p_bin_id, 'ibuhmesc.jsp', l_filter_string, p_cookie_url);
614
615 if l_bin_info.mandatory_flag = FND_API.G_FALSE then
616 l_close_url := IBU_Home_Page_PVT.get_close_bin_url(p_bin_id, p_cookie_url);
617 else
618 l_close_url := null;
619 end if;
620
621 -- now create the clob and store the bin html in
622 dbms_lob.createtemporary(res_clob, TRUE, DBMS_LOB.SESSION);
623
624 -- store the bin header in clob, including bin name, edit and close button
625 tmp_str := '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
626 dbms_lob.writeappend(res_clob, length(tmp_str),tmp_str);
627 dbms_lob.writeappend(res_clob,4,'<tr>');
628 dbms_lob.writeappend(res_clob,length(newln), newln);
629 dbms_lob.writeappend(res_clob,4,'<td>');
630 dbms_lob.writeappend(res_clob,length(newln), newln);
631 header_str := IBU_Home_Page_PVT.get_bin_header_html (l_bin_name, null, l_edit_url, l_close_url);
632
633 dbms_lob.writeappend(res_clob,length(header_str),header_str);
634 dbms_lob.writeappend(res_clob,length(newln), newln);
635 dbms_lob.writeappend(res_clob,5,'</tr>');
636 dbms_lob.writeappend(res_clob,length(newln), newln);
637 dbms_lob.writeappend(res_clob,5,'</td>');
638 dbms_lob.writeappend(res_clob,length(newln), newln);
639
640 -- get the channels per category
641
642 AMV_CATEGORY_GRP.Get_CatChildrenHierarchy(p_api_version => 1.0,
643 p_init_msg_list => 'T',
644 x_return_status => x_return_status,
645 x_msg_count => x_msg_count,
646 x_msg_data => x_msg_data,
647 p_check_login_user => 'F',
648 p_category_id => category_id,
649 x_category_hierarchy => cats_array);
650
651 if (x_return_status = 'F')
652 THEN
653 /* dbms_output.put_line('No Items Found='); */
654 fnd_message.set_name('IBU', 'IBU_HOM_ITEMS_ERROR');
655 fnd_msg_pub.Add;
656 RAISE FND_API.G_EXC_ERROR;
657 END IF;
658
659 ---------------------------------------------------------------------------
660 channel_title := IBU_HOME_PAGE_PVT.GET_AK_BIN_PROMPT('IBU_HOM_CNEWS_CHANNEL');
661 items_title := IBU_HOME_PAGE_PVT.GET_AK_BIN_PROMPT('IBU_HOM_CNEWS_ITEMS');
662
663 /* dbms_output.put_line('title=' || channel_title); */
664 /* dbms_output.put_line('ititle=' || items_title); */
665 -- dbms_lob.createtemporary(res_clob, TRUE, DBMS_LOB.SESSION);
666
667 dbms_lob.writeappend(res_clob,length(newln), newln);
668 for j IN 1 .. cats_array.count LOOP
669
670 if (cats_array(j).ID <> category_id)
671 THEN
672 -- get items per channel
673
674 AMV_CATEGORY_GRP.Get_ChannelsPerCategory(p_api_version => 1.0,
675 p_init_msg_list => 'T',
676 x_return_status => x_return_status,
677 x_msg_count => x_msg_count,
678 x_msg_data => x_msg_data,
679 p_check_login_user => 'F',
680 p_category_id => cats_array(j).ID,
681 x_content_chan_array => channels_array);
682
683 if (x_return_status = 'F')
684 THEN
685 /* dbms_output.put_line(' Items Error='); */
686 x_return_status := FND_API.G_RET_STS_SUCCESS;
687 dbms_lob.writeappend(res_clob,6, ' <tr>');
688 dbms_lob.writeappend(res_clob,length(newln), newln);
689 dbms_lob.writeappend(res_clob,length(newln), newln);
690 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
691 res_str := ' <td' || ' align="center" class="'
692 || cell_format || '">'
693 || tmp_str || ' </td>';
694 dbms_lob.writeappend(res_clob,length(res_str), res_str);
695 dbms_lob.writeappend(res_clob,length(newln), newln);
696 dbms_lob.writeappend(res_clob,length(newln), newln);
697
698 dbms_lob.writeappend(res_clob,7, ' </tr>');
699 dbms_lob.writeappend(res_clob, length(newln), newln);
700 exit;
701 END IF;
702
703 item_request_obj.records_requested := batch_size;
704 item_request_obj.start_record_position := 1;
705 item_request_obj.return_total_count_flag := 'T';
706
707 for k IN 1 .. channels_array.count LOOP
708 /* dbms_output.put_line('channel name=' || channels_array(k).NAME); */
709 dbms_lob.writeappend(res_clob,4,'<tr>');
710 tmp_str := '<td class="tableDataCell" colspan="3">';
711 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
712
713 -- ujagarla - If there is no content, then we need to show a message
714 no_items_exist := FND_API.G_FALSE;
715
716 -- Start converting channel name to URL format
717 urlformat_channel_name := '';
718 channel_name:= channels_array(k).NAME;
719 for p in 1..LENGTH(channel_name) loop
720 if (substr (channel_name, p, 1) = ' ') then
721 urlformat_channel_name := urlformat_channel_name || '+';
722 else
723 urlformat_channel_name := urlformat_channel_name || substr (channel_name, p, 1);
724 end if;
725 end loop;
726
727 url := 'ibukmipc.jsp?channelId=' ||channels_array(k).ID
728 ||'&' || 'channelName=' || urlformat_channel_name || '&' || p_cookie_url;
729 tmp_str := '<a href=' || url || '>' || channels_array(k).NAME || '</a>';
730 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
731 dbms_lob.writeappend(res_clob,length(newln),newln);
732 tmp_str := '</td> </tr> <tr> </tr>';
733 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
734 dbms_lob.writeappend(res_clob,length(newln),newln);
735
736 /* dbms_output.put_line('items in channel' || channels_array(k).NAME); */
737 -- get items per channel
738
739 AMV_CHANNEL_GRP.Get_ItemsPerChannel(p_api_version => 1.0,
740 p_init_msg_list => 'T',
741 x_return_status => x_return_status,
742 x_msg_count => x_msg_count,
743 x_msg_data => x_msg_data,
744 p_check_login_user => 'F',
745 p_channel_id => channels_array(k).ID,
746 p_subset_request_rec => item_request_obj,
747 x_subset_return_rec => item_return_obj,
748 x_document_id_array => items_array);
749
750 if (x_return_status = 'F')
751 THEN
752 /* dbms_output.put_line('No Items for this chanel='); */
753 x_return_status := FND_API.G_RET_STS_SUCCESS;
754 dbms_lob.writeappend(res_clob,6, ' <tr>');
755 dbms_lob.writeappend(res_clob,length(newln), newln);
756 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
757 res_str := ' <td' || ' align="center" class="'
758 || cell_format || '">'
759 || tmp_str || ' </td>';
760 dbms_lob.writeappend(res_clob,length(res_str), res_str);
761 dbms_lob.writeappend(res_clob,length(newln), newln);
762
763 dbms_lob.writeappend(res_clob,7, ' </tr>');
764 dbms_lob.writeappend(res_clob, length(newln), newln);
765 exit;
766 END IF;
767
768 for m IN 1 .. items_array.COUNT LOOP
769
770 AMV_ITEM_PUB.get_item(p_api_version => 1.0,
771 p_init_msg_list => 'T',
772 x_return_status => x_return_status,
773 x_msg_count => x_msg_count,
774 x_msg_data => x_msg_data,
775 p_check_login_user => 'F',
776 p_item_id => items_array(m),
777 x_item_obj => item_object,
778 x_file_array => item_file_array,
779 x_persp_array => item_persp_array,
780 x_author_array => item_author_array,
781 x_keyword_array => item_keyword_array);
782
783 if (x_return_status = 'F')
784 THEN
785 /* dbms_output.put_line('No Items for this chanel=');*/
786 x_return_status := FND_API.G_RET_STS_SUCCESS;
787 dbms_lob.writeappend(res_clob,6, ' <tr>');
788 dbms_lob.writeappend(res_clob,length(newln), newln);
789 tmp_str := FND_MESSAGE.GET_STRING('IBU','IBU_HOM_ITEMS_ERROR');
790 res_str := ' <td' || ' align="center" class="'
791 || cell_format || '">'
792 || tmp_str || ' </td>';
793 dbms_lob.writeappend(res_clob,length(res_str), res_str);
794 dbms_lob.writeappend(res_clob,length(newln), newln);
795 dbms_lob.writeappend(res_clob,length(newln), newln);
796
797 dbms_lob.writeappend(res_clob,7, ' </tr>');
798 dbms_lob.writeappend(res_clob, length(newln), newln);
799 exit;
800 END IF;
801
802 dbms_lob.writeappend(res_clob, 4,'<tr>');
803 dbms_lob.writeappend(res_clob, length(newln),newln);
804
805 if (item_object.item_type like 'URL_ITEM') then
806 -- tmp_str := '<td class="binContentCell"><li><a href="http://' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
807 if ( instr(item_object.url_string,'http://') =0 ) then
808 tmp_str := '<td class="binContentCell"><li><a href="http://' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
809 else
810 tmp_str := '<td class="binContentCell"><li><a href="' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
811 end if;
812
813 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
814 dbms_lob.writeappend(res_clob, length(newln), newln);
815
816 elsif item_object.item_type like 'FILE_ITEM' then
817 tmp_str := '<td class="binContentCell"><li><a href="ibuzbot.jsp?itemid=' || item_object.item_id || '" >' || item_object.item_name || '</a> </td>';
818 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
819 dbms_lob.writeappend(res_clob, length(newln), newln);
820
821 else --MESSAGE_ITEM
822 tmp_str := '<td class="binContentCell"><li><a href="ibuzbot.jsp?itemid=' || item_object.item_id || '">' || item_object.item_name || '</a> </td>';
823 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
824 dbms_lob.writeappend(res_clob, length(newln), newln);
825
826 end if;
827 tmp_str := '</tr> <tr> </tr>';
828 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
829 end loop;
830 end loop;
831 END IF;
832
833 end loop;
834
835 --- ujagarla - begin==========================================================================================
836
837 -- get items per channel - for top level category (bug fix : 2243802).
838 -- Channels that are attached to top level category are not retrieved.
839
840 AMV_CATEGORY_GRP.Get_ChannelsPerCategory(p_api_version => 1.0,
841 p_init_msg_list => 'T',
842 x_return_status => x_return_status,
843 x_msg_count => x_msg_count,
844 x_msg_data => x_msg_data,
845 p_check_login_user => 'F',
846 p_category_id => category_id,
847 p_include_subcats => FND_API.G_FALSE,
848 x_content_chan_array => channels_array);
849
850 if (x_return_status = 'F')
851 THEN
852 /* dbms_output.put_line(' Items Error='); */
853 x_return_status := FND_API.G_RET_STS_SUCCESS;
854 dbms_lob.writeappend(res_clob,6, ' <tr>');
855 dbms_lob.writeappend(res_clob,length(newln), newln);
856 dbms_lob.writeappend(res_clob,length(newln), newln);
857 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
858 res_str := ' <td' || ' align="center" class="'
859 || cell_format || '">'
860 || tmp_str || ' </td>';
861 dbms_lob.writeappend(res_clob,length(res_str), res_str);
862 dbms_lob.writeappend(res_clob,length(newln), newln);
863 dbms_lob.writeappend(res_clob,length(newln), newln);
864
865 dbms_lob.writeappend(res_clob,7, ' </tr>');
866 dbms_lob.writeappend(res_clob, length(newln), newln);
867 END IF;
868
869 item_request_obj.records_requested := batch_size;
870 item_request_obj.start_record_position := 1;
871 item_request_obj.return_total_count_flag := 'T';
872
873 for k IN 1 .. channels_array.count LOOP
874 /* dbms_output.put_line('channel name=' || channels_array(k).NAME); */
875 dbms_lob.writeappend(res_clob,4,'<tr>');
876 tmp_str := '<td class="tableDataCell" colspan="3">';
877 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
878
879 -- ujagarla - If there is no content, then we need to show a message
880 no_items_exist := FND_API.G_FALSE;
881
882 -- Start converting channel name to URL format
883 urlformat_channel_name := '';
884 channel_name:= channels_array(k).NAME;
885 for p in 1..LENGTH(channel_name) loop
886 if (substr (channel_name, p, 1) = ' ') then
887 urlformat_channel_name := urlformat_channel_name || '+';
888 else
889 urlformat_channel_name := urlformat_channel_name || substr (channel_name, p, 1);
890 end if;
891 end loop;
892
893 url := 'ibukmipc.jsp?channelId=' ||channels_array(k).ID
894 ||'&' || 'channelName=' || urlformat_channel_name || '&' || p_cookie_url;
895 tmp_str := '<a href=' || url || '>' || channels_array(k).NAME || '</a>';
896 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
897 dbms_lob.writeappend(res_clob,length(newln),newln);
898 tmp_str := '</td> </tr> <tr> </tr>';
899 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
900 dbms_lob.writeappend(res_clob,length(newln),newln);
901
902 /* dbms_output.put_line('items in channel' || channels_array(k).NAME); */
903 -- get items per channel
904
905 AMV_CHANNEL_GRP.Get_ItemsPerChannel(p_api_version => 1.0,
906 p_init_msg_list => 'T',
907 x_return_status => x_return_status,
908 x_msg_count => x_msg_count,
909 x_msg_data => x_msg_data,
910 p_check_login_user => 'F',
911 p_channel_id => channels_array(k).ID,
912 p_subset_request_rec => item_request_obj,
913 x_subset_return_rec => item_return_obj,
914 x_document_id_array => items_array);
915
916 if (x_return_status = 'F')
917 THEN
918 /* dbms_output.put_line('No Items for this chanel='); */
919 x_return_status := FND_API.G_RET_STS_SUCCESS;
920 dbms_lob.writeappend(res_clob,6, ' <tr>');
921 dbms_lob.writeappend(res_clob,length(newln), newln);
922 tmp_str := FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_ITEMS_ERROR');
923 res_str := ' <td' || ' align="center" class="'
924 || cell_format || '">'
925 || tmp_str || ' </td>';
926 dbms_lob.writeappend(res_clob,length(res_str), res_str);
927 dbms_lob.writeappend(res_clob,length(newln), newln);
928
929 dbms_lob.writeappend(res_clob,7, ' </tr>');
930 dbms_lob.writeappend(res_clob, length(newln), newln);
931 exit;
932 END IF;
933
934 for m IN 1 .. items_array.COUNT LOOP
935
936 AMV_ITEM_PUB.get_item(p_api_version => 1.0,
937 p_init_msg_list => 'T',
938 x_return_status => x_return_status,
939 x_msg_count => x_msg_count,
940 x_msg_data => x_msg_data,
941 p_check_login_user => 'F',
942 p_item_id => items_array(m),
943 x_item_obj => item_object,
944 x_file_array => item_file_array,
945 x_persp_array => item_persp_array,
946 x_author_array => item_author_array,
947 x_keyword_array => item_keyword_array);
948
949 if (x_return_status = 'F')
950 THEN
951 /* dbms_output.put_line('No Items for this chanel=');*/
952 x_return_status := FND_API.G_RET_STS_SUCCESS;
953 dbms_lob.writeappend(res_clob,6, ' <tr>');
954 dbms_lob.writeappend(res_clob,length(newln), newln);
955 tmp_str := FND_MESSAGE.GET_STRING('IBU','IBU_HOM_ITEMS_ERROR');
956 res_str := ' <td' || ' align="center" class="'
957 || cell_format || '">'
958 || tmp_str || ' </td>';
959 dbms_lob.writeappend(res_clob,length(res_str), res_str);
960 dbms_lob.writeappend(res_clob,length(newln), newln);
961 dbms_lob.writeappend(res_clob,length(newln), newln);
962
963 dbms_lob.writeappend(res_clob,7, ' </tr>');
964 dbms_lob.writeappend(res_clob, length(newln), newln);
965 exit;
966 END IF;
967
968 dbms_lob.writeappend(res_clob, 4,'<tr>');
969 dbms_lob.writeappend(res_clob, length(newln),newln);
970
971 if (item_object.item_type like 'URL_ITEM') then
972 -- tmp_str := '<td class="binContentCell"><li><a href="http://' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
973 if ( instr(item_object.url_string,'http://') =0 ) then
974 tmp_str := '<td class="binContentCell"><li><a href="http://' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
975 else
976 tmp_str := '<td class="binContentCell"><li><a href="' || item_object.url_string|| '" target="new">' || item_object.item_name || '</a> </td>';
977 end if;
978
979 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
980 dbms_lob.writeappend(res_clob, length(newln), newln);
981
982 elsif item_object.item_type like 'FILE_ITEM' then
983 tmp_str := '<td class="binContentCell"><li><a href="ibuzbot.jsp?itemid=' || item_object.item_id || '" >' || item_object.item_name || '</a> </td>';
984 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
985 dbms_lob.writeappend(res_clob, length(newln), newln);
986
987 else --MESSAGE_ITEM
988 tmp_str := '<td class="binContentCell"><li><a href="ibuzbot.jsp?itemid=' || item_object.item_id || '">' || item_object.item_name || '</a> </td>';
989 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
990 dbms_lob.writeappend(res_clob, length(newln), newln);
991
992 end if;
993 tmp_str := '</tr> <tr> </tr>';
994 dbms_lob.writeappend(res_clob, length(tmp_str), tmp_str);
995 end loop; -- for m IN 1 .. items_array.COUNT LOOP
996 end loop; -- for k IN 1 .. channels_array.count LOOP
997
998 -- ujagarla - end=============================================================================================
999
1000 -- ujagarla - If no content exist, show message to the user.
1001 IF ( no_items_exist = FND_API.G_TRUE )THEN
1002 tmp_str := '<tr><td class="binContentCell">'
1003 || FND_MESSAGE.GET_STRING('IBU', 'IBU_HOM_NO_ITEMS_FOUND')
1004 || '</td></tr>';
1005 dbms_lob.writeappend(res_clob,length(tmp_str),tmp_str);
1006 dbms_lob.writeappend(res_clob,length(newln), newln);
1007 End If;
1008
1009 -- Bin footer
1010 dbms_lob.writeappend(res_clob, 5, '</td>');
1011 dbms_lob.writeappend(res_clob,length(newln), newln);
1012 dbms_lob.writeappend(res_clob, 5, '</tr>');
1013 dbms_lob.writeappend(res_clob,length(newln), newln);
1014 dbms_lob.writeappend(res_clob, 8, '</table>');
1015 dbms_lob.writeappend(res_clob,length(newln), newln);
1016
1017
1018 /*dbms_lob.writeappend(res_clob, 8, '</table>');
1019 dbms_lob.writeappend(res_clob,length(newln), newln);
1020 dbms_lob.writeappend(res_clob, 5, '</td>');
1021 dbms_lob.writeappend(res_clob,length(newln), newln);
1022 dbms_lob.writeappend(res_clob, 5, '</tr>');
1023 dbms_lob.writeappend(res_clob,length(newln), newln);
1024
1025 dbms_lob.writeappend(res_clob, 4, '<tr>');
1026 dbms_lob.writeappend(res_clob,length(newln), newln);
1027 -- chr(38) is special char for 'and'
1028 tmp_str := '<td colspan="3" height="15">' || CHR(38) || 'nbsp;</td>';
1029 dbms_lob.writeappend(res_clob,length(tmp_str), tmp_str);
1030 dbms_lob.writeappend(res_clob,length(newln), newln);
1031 dbms_lob.writeappend(res_clob, 5, '</tr>');
1032 dbms_lob.writeappend(res_clob,length(newln), newln);
1033 */
1034 x_clob := res_clob;
1035 dbms_lob.freetemporary(res_clob);
1036
1037 -- End of API Body
1038 -- Standard check of p_commit.
1039 IF FND_API.To_Boolean( p_commit ) THEN
1040 COMMIT WORK;
1041 END IF;
1042 -- Standard call to get message count and if count is 1, get message info.
1043 FND_MSG_PUB.Count_And_Get
1044 (p_count => x_msg_count ,
1045 p_data => x_msg_data
1046 );
1047 EXCEPTION
1048 WHEN FND_API.G_EXC_ERROR THEN
1049 FND_MSG_PUB.Count_And_Get
1050 (p_count => x_msg_count ,
1051 p_data => x_msg_data
1052 );
1053 WHEN OTHERS THEN
1054 -- ROLLBACK TO Get_Filter;
1055 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1056 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1057 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1058 END IF;
1059 FND_MSG_PUB.Count_And_Get
1060 (p_count => x_msg_count ,
1061 p_data => x_msg_data
1062 );
1063 raise;
1064
1065 end get_html;
1066
1067 end ibu_mes_bin;