[Home] [Help]
PACKAGE BODY: APPS.BIS_LOV_PUB
Source
1 package body bis_lov_pub as
2 /* $Header: BISPLOVB.pls 120.3 2005/12/28 06:09:20 ashankar noship $ */
3 g_user_id integer;
4 g_session_id number;
5
6 -- *****************************************************
7 -- Main - entry point
8 -- ****************************************************
9 procedure main
10 ( p_procname in varchar2 default NULL
11 , p_qrycnd in varchar2 default NULL
12 , p_jsfuncname in varchar2 default NULl
13 , p_startnum in pls_integer default NULL
14 , p_rowcount in pls_integer default NULL
15 , p_totalcount in pls_integer default NULL
16 , p_search_str in varchar2 default NULL
17 , p_dim_level_id in number default NULL
18 , p_sqlcount in varchar2 default NULL
19 , p_coldata in colinfo_table
20 , p_rel_dim_lev_id in varchar2 default NULL
21 , p_rel_dim_lev_val_id in varchar2 default NULL
22 , p_rel_dim_lev_g_var in varchar2 default NULL
23 , Z in pls_integer default NULL
24 , p_user_id in pls_integer default NULL
25 , x_string out nocopy VARCHAR2
26 )
27 IS
28 l_startnum pls_integer;
29 l_pos1 pls_integer;
30 l_titlename varchar2(32000);
31 l_history varchar2(240);
32 l_message varchar2(240);
33 l_ccursor pls_integer;
34 l_dummy1 pls_integer;
35 l_totalcount pls_integer;
36 l_colstore colstore_table;
37 l_totalpossible pls_integer;
38 l_store1 varchar2(32000);
39 l_store2 varchar2(32000);
40 l_searchlink varchar2(32000);
41 l_datalink varchar2(32000);
42 l_buttonslink varchar2(32000);
43 l_title varchar2(32000) := 'List Of Values: ';
44 l_head varchar2(32000);
45 l_value varchar2(32000);
46 l_link varchar2(32000);
47 l_disp varchar2(32000);
48 l_sql varchar2(32000);
49 l_search_str varchar2(32000) := p_search_str;
50 l_rel_dim_lev_id varchar2(32000);
51 l_rel_dim_lev_val_id varchar2(32000);
52 l_rel_dim_lev_g_var varchar2(32000);
53 l_Z varchar2(32000);
54
55 l_var number;
56 l_return_sts VARCHAR2(10) := FND_API.G_RET_STS_SUCCESS;
57 l_sob_id NUMBER;
58 l_plug_id pls_integer;
59 l_string VARCHAR(32000);
60 l_search_rstr VARCHAR(32000);
61 l_data_rstr VARCHAR(32000);
62 l_buttons_rstr VARCHAR(32000);
63 l_head_tbl colstore_table;
64 l_value_tbl colstore_table;
65 l_link_tbl colstore_table;
66 l_disp_tbl colstore_table;
67 l_test_count NUMBER;
68
69 begin
70
71 -- meastmon 09/07/2001 Fix bug#1980577. Workaround Do not encrypt plug_id
72 --l_plug_id := icx_call.decrypt2(Z);
73
74 l_plug_id := Z;
75 --if icx_sec.validateSession then
76 -- if ICX_SEC.validatePlugSession(l_plug_id) then
77
78 /*if instr(owa_util.get_cgi_env('HTTP_USER_AGENT'),'MSIE') > 0
79 then
80 l_history := '';
81 else
82 l_history := 'opener.history.go(0);';
83 end if;*/
84
85 --commented as giving error
86
87 l_history := ''; --WORKAROUND
88
89 IF p_rel_dim_lev_val_id IS NOT NULL THEN
90 setGlobalVar
91 ( p_dim_lev_id => p_rel_dim_lev_id
92 , p_dim_lev_val_id => p_rel_dim_lev_val_id
93 , p_dim_lev_g_var => p_rel_dim_lev_g_var
94 , x_return_status => l_return_sts
95 );
96 END IF;
97
98 -- If this page is being called the first time
99 -- parse the sqlcount to get totalcount
100 l_ccursor := DBMS_SQL.OPEN_CURSOR;
101 DBMS_SQL.PARSE(l_ccursor,p_sqlcount,DBMS_SQL.NATIVE);
102 DBMS_SQL.DEFINE_COLUMN(l_ccursor,1,l_totalcount);
103 l_dummy1 := DBMS_SQL.EXECUTE_AND_FETCH(l_ccursor);
104 DBMS_SQL.COLUMN_VALUE(l_ccursor,1,l_totalcount);
105 DBMS_SQL.CLOSE_CURSOR(l_ccursor);
106
107 -- Set certain numbers and names
108 l_totalpossible := NVL(p_totalcount,l_totalcount);
109 for l_pos1 in p_coldata.FIRST .. p_coldata.COUNT loop
110 if (p_coldata(l_pos1).link = FND_API.G_TRUE) then
111 l_titlename := p_coldata(l_pos1).header;
112 exit;
113 end if;
114 end loop;
115
116 l_string:= l_string ||'<HEAD>';
117
118 l_string:= l_string ||'<SCRIPT LANGUAGE="Javascript">';
119
120 l_string:= l_string ||'function blank() {';
121 l_string:= l_string ||' return "<HTML><BODY BGCOLOR=#336699></BODY></HTML>"';
122 l_string:= l_string ||' }';
123
124 -- Transfer the clicked URL's name and id to the parent window box
125 l_string:= l_string ||'function transfer(name,id) {';
126 --l_string := l_string||'alert("name "+name+" id "+id);';
127 l_string:= l_string ||' parent.opener.parent.'||p_jsfuncname||'(name,id);';
128 --l_string := l_string||'alert("before windowclose");';
129 l_string:= l_string ||' window.close();';
130 l_string:= l_string ||' }';
131
132 -- Close the child window and clear all events on parent window
133 l_string:= l_string ||'function closeMe() {';
134 l_string:= l_string ||' if (opener){';
135 l_string:= l_string ||' opener.unblockEvents();';
136 l_string:= l_string ||' }';
137 l_string:= l_string ||' window.close();';
138 l_string:= l_string ||' }';
139
140 l_string:= l_string ||'</SCRIPT>';
141 l_string:= l_string ||'</HEAD>';
142
143 -- Create the main form that communicates with the intermediate proc
144
145
146 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_qrycnd.value='''||p_qrycnd||''';</SCRIPT>';
147
148 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_dim1_lbl.value='''||l_titlename||''';</SCRIPT>';
149
150 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_jsfuncname.value='''||p_jsfuncname||''';</SCRIPT>';
151
152 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_startnum.value='''||p_startnum||''';</SCRIPT>';
153
154 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_rowcount.value='''||p_rowcount||''';</SCRIPT>';
155
156 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_totalcount.value='''||p_totalcount||''';</SCRIPT>';
157
158 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.p_search_str.value='''||NVL(p_search_str,c_percent)||''';</SCRIPT>';
159
160 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">document.DefaultFormName.Z.value='||Z||';</SCRIPT>';
161
162 -- Replace the % sign in the sql string with an asterisk
163 -- because it tends to dissappear from the URL string
164 l_search_str := REPLACE(p_search_str,c_percent,c_asterisk);
165
166 lov_search
167 ( p_totalpossible => l_totalpossible
168 , p_totalavailable => l_totalcount
169 , p_titlename => bis_utilities_pub.encode(l_titlename)
170 , p_startnum =>p_startnum
171 , p_rowcount => p_rowcount
172 , p_search_str => l_search_str
173 ,x_string => l_search_rstr
174 );
175
176 l_string:= l_string || l_search_rstr;
177
178
179 for i in p_coldata.FIRST .. p_coldata.COUNT loop
180 l_head_tbl(i) := p_coldata(i).header;
181 l_value_tbl(i) := p_coldata(i).value;
182 l_link_tbl(i) := p_coldata(i).link;
183 l_disp_tbl(i) := p_coldata(i).display;
184
185 end loop;
186
187
188 l_rel_dim_lev_id := l_rel_dim_lev_id ||c_amp
189 ||'p_rel_dim_lev_id='||p_rel_dim_lev_id;
190 l_rel_dim_lev_val_id := l_rel_dim_lev_val_id ||c_amp
191 ||'p_rel_dim_lev_val_id='||p_rel_dim_lev_val_id;
192 l_rel_dim_lev_g_var := l_rel_dim_lev_g_var ||c_amp
193 ||'p_rel_dim_lev_g_var='||p_rel_dim_lev_g_var;
194 l_Z := l_Z||c_amp||'Z='||Z;
195
196
197 lov_data
198 ( p_startnum => p_startnum
199 , p_rowcount => p_rowcount
200 , p_totalavailable => l_totalcount
201 , p_dim_level_id => p_dim_level_id
202 , p_search_str => p_search_str
203 , p_head => l_head_tbl
204 , p_value => l_value_tbl
205 , p_link => l_link_tbl
206 , p_disp => l_link_tbl
207 , p_rel_dim_lev_id => p_rel_dim_lev_id
208 , p_rel_dim_lev_val_id => p_rel_dim_lev_val_id
209 , p_rel_dim_lev_g_var => p_rel_dim_lev_g_var
210 , Z => Z
211 , p_user_id => p_user_id
212 , x_string => l_data_rstr
213 );
214
215
216
217 l_string:= l_string || l_data_rstr;
218
219 lov_buttons
220 ( p_startnum => p_startnum
221 , p_rowcount => p_rowcount
222 , p_totalavailable => l_totalcount
223 , x_string => l_buttons_rstr
224 );
225 l_string:= l_string || l_buttons_rstr;
226
227 x_string := l_string ;
228
229
230 -- end if; -- icx_validate session
231 --end if; -- icx_sec.validateSession
232 exception
233 when others then
234 x_string := SQLERRM;
235
236 end main;
237
238 -- ***********************************************************
239 -- Frame that paints the search box
240 -- ************************************************************
241 procedure lov_search
242 ( p_totalpossible in pls_integer default NULL
243 , p_totalavailable in pls_integer default NULL
244 , p_titlename in varchar2 default NULL
245 , p_startnum in pls_integer default NULL
246 , p_rowcount in pls_integer default NULL
247 , p_search_str in varchar2 default NULL
248 , x_string out nocopy VARCHAR2
249 )
250 is
251
252 l_to varchar2(15) := ' to ';
253 l_totalpossible pls_integer := p_totalpossible;
254 l_totalcount pls_integer := p_totalavailable;
255 l_titlename varchar2(32000) := p_titlename;
256 l_possible varchar2(30):= ' possible';
257 l_of varchar2(15):= ' of ';
258 l_values varchar2(15):= 'Values ';
259 l_endnum pls_integer;
260 l_startnum pls_integer;
261 l_title varchar2(60) := 'List Of Values: ';
262 l_search_str varchar2(200);
263 l_string VARCHAR2(32000);
264
265 -- meastmon 06/20/2001
266 -- Fix for ADA buttons
267 l_button_str varchar2(32000);
268 l_button_tbl BIS_UTILITIES_PVT.HTML_Button_Tbl_Type;
269 l_append_string VARCHAR2(1000);
270 l_swan_enabled BOOLEAN;
271 l_button_edge VARCHAR2(100);
272
273 begin
274
275 --if icx_sec.validateSession then
276 l_swan_enabled := BIS_UTILITIES_PVT.checkSWANEnabled();
277 l_startnum := NVL(p_startnum,1);
278 -- Replace the asterisk with the percent sign
279 l_search_str := REPLACE(p_search_str,c_asterisk,c_percent);
280 l_string := l_string || '<LINK HREF="/OA_HTML/bisportal.css" type="text/css" rel="stylesheet">';
281
282 l_string := l_string || '<SCRIPT LANGUAGE="Javascript">';
283 -- Check and send the text string for find criteria
284 l_string := l_string ||'function chkString() {';
285 l_string := l_string ||' if (document.DefaultFormName.p_search_str1.value == "")';
286 l_string := l_string ||' alert("Please enter a search criteria");';
287 l_string := l_string ||' else {';
288 l_string := l_string ||' top.document.DefaultFormName.p_startnum.value ="";';
289 l_string := l_string ||' top.document.DefaultFormName.p_search_str.value = document.DefaultFormName.p_search_str1.value;';
290 l_string := l_string ||' top.document.DefaultFormName.submit();';
291 l_string := l_string ||' };';
292 l_string := l_string ||' }';
293
294 l_string := l_string ||'</SCRIPT>';
295
296
297
298 --l_string := l_string ||'<BODY BGCOLOR="'||c_fmbgcolor||'">';
299 l_string := l_string ||'<BODY class="C_FMBGCOLOR">';
300 l_string := l_string ||'<CENTER>';
301
302 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=0 width=100%>';
303 IF(NOT l_swan_enabled)THEN
304 l_string := l_string ||'<TR class="C_FMBGCOLOR">';
305 l_string := l_string ||'<td height=3></td>';
306 l_string := l_string ||'</TR>';
307 l_button_edge := BIS_UTILITIES_PVT.G_ROUND_EDGE;
308 ELSE
309 l_button_edge :=BIS_UTILITIES_PVT.G_FLAT_EDGE;
310 END IF;
311 /*l_string := l_string ||'<TR BGCOLOR='||c_fmbgcolor||'>';
312 l_string := l_string ||'<td height=3></td>';
313 l_string := l_string ||'</TR>';*/
314
315 --l_string := l_string ||'<BODY BGCOLOR="'||c_pgbgcolor||'">';
316 l_string := l_string ||'<BODY class="C_PGBGCOLOR">';
317 l_string := l_string ||'<TD><font size= -2><BR></font></TD>';
318 l_string := l_string ||'</TR>';
319
320 --l_string := l_string ||'<BODY BGCOLOR="'||c_pgbgcolor||'">';
321 l_string := l_string ||'<BODY class="C_PGBGCOLOR">';
322
323 l_string := l_string ||'<TD ALIGN="LEFT"><B>'||bis_utilities_pvt.escape_html(l_titlename)||' '||'('||bis_utilities_pvt.escape_html(l_totalpossible)||' '||bis_utilities_pvt.escape_html(c_possible)||')'||'</B></TD>';
324
325 l_string := l_string ||'</TR>';
326
327 -- table for input box and find button
328 --l_string := l_string ||'<BODY BGCOLOR="'||c_pgbgcolor||'">';
329 l_string := l_string ||'<BODY class="C_PGBGCOLOR">';
330
331 l_string := l_string ||'<td align="CENTER">';
332 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=0 width=100%>';
333 l_string := l_string ||'<TR>';
334 l_string := l_string ||'<TD ALIGN="LEFT"><INPUT TYPE="text" NAME="p_search_str1" SIZE="25" VALUE="'||bis_utilities_pvt.escape_html_input(NVL(l_search_str,c_percent))||'"></TD>';
335 l_string := l_string ||'<td align="LEFT">';
336
337 -- meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
338 --icx_plug_utilities.buttonBoth(c_find,'javascript:chkString()');
339
340 l_button_tbl(1).left_edge := l_button_edge;
341 l_button_tbl(1).right_edge := l_button_edge;
342 l_button_tbl(1).disabled := FND_API.G_FALSE;
343 l_button_tbl(1).label := c_find;
344 l_button_tbl(1).href := 'javascript:chkString()';
345 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
346 l_string := l_string ||l_button_str;
347
348 l_string := l_string ||'</td>';
349 l_string := l_string ||'</TR>';
350 l_string := l_string ||'</TABLE>';
351 l_string := l_string ||'</td>';
352 l_string := l_string ||'</TR>';
353
354
355 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
356 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
357 l_string := l_string ||'<td height=1 bgcolor=#000000> <IMG SRC="/OA_MEDIA/FNDINVDT.gif" height=1></td>';
358 l_string := l_string ||'</TR>';
359 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
360 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
361
362 if (l_totalcount = 0) then
363 -- if no values returned then print nothing
364 l_string := l_string ||'<td><font size = -2><BR></font></td>';
365 else
366 -- if any values returned then print the range numbers
367 l_string := l_string ||'<td align="RIGHT">';
368 l_endnum := l_startnum+p_rowcount-1;
369 if (l_endnum >= l_totalcount) then
370 l_endnum := l_totalcount;
371 end if;
372 l_string := l_string ||c_values||' '||l_startnum||' '||c_to||' '||l_endnum||' '||c_of||' '||l_totalcount;
373 l_string := l_string ||'</td>';
374 end if;
375 l_string := l_string ||'</TR>';
376 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
377 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
378 l_string := l_string ||'<td><font size = -2><BR></font></td>';
379 l_string := l_string ||'</TR>';
380 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
381 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
382 l_string := l_string ||'<td><font size = -2><BR></font></td>';
383 l_string := l_string ||'</TR>';
384 l_string := l_string ||'</TABLE>';
385
386 l_string := l_string ||'</CENTER>';
387
388 --end if; --icx_sec.validateSession
389 x_string := l_string;
390
391 exception
392 when others then
393 x_string := SQLERRM;
394 end lov_search;
395
396
397 -- ****************************************************
398 -- Frame that paints the LOVdata
399 -- ****************************************************
400 procedure lov_data
401 ( p_startnum in pls_integer default NULL
402 , p_rowcount in pls_integer default NULL
403 , p_totalavailable in pls_integer default NULL
404 , p_dim_level_id in number default NULL
405 , p_search_str in varchar2 default NULL
406 , p_head in colstore_table
407 , p_value in colstore_table
408 , p_link in colstore_table
409 , p_disp in colstore_table
410 , p_rel_dim_lev_id in varchar2 default NULL
411 , p_rel_dim_lev_val_id in varchar2 default NULL
412 , p_rel_dim_lev_g_var in varchar2 default NULL
413 , Z in pls_integer default NULL
414 , p_user_id in pls_integer default NULL
415 , x_string out nocopy VARCHAR2
416 )
417 is
418 l_startnum pls_integer;
419 l_count pls_integer;
420 l_totalcount pls_integer := p_totalavailable;
421 l_rcursor pls_integer;
422 l_row pls_integer;
423 l_dummy2 pls_integer;
424 l_dummy3 pls_integer;
425 l_colstore colstore_table;
426 l_pos1 pls_integer;
427 l_pos2 pls_integer;
428 l_col pls_integer;
429 l_linkvalue varchar2(32000);
430 l_linktext varchar2(32000);
431 l_string varchar2(32000);
432 l_sql varchar2(32000);
433 l_return_sts VARCHAR2(100);
434 l_var VARCHAR2(100);
435 l_plug_id pls_integer;
436 l_temp varchar2(32000);
437 l_search_str varchar2(32000);
438 --l_user_id pls_integer;
439
440 begin
441
442
443 -- meastmon 09/07/2001 Fix bug#1980577. Workaround Do not encrypt plug_id
444 --l_plug_id := icx_call.decrypt2(Z);
445 l_plug_id := Z;
446 --if icx_sec.validateSession then
447 --if ICX_SEC.validatePlugSession(l_plug_id) then
448
449 -- prepare SQl modified for enh#3559231
450 -- Replace the asterisk with the percent sign
451 --l_sql := REPLACE(p_sql,c_asterisk,c_percent);
452 --l_user_id := ICX_SEC.getID(ICX_SEC.PV_USER_ID, '', icx_sec.g_session_id);
453 l_search_str := concat_string(p_search_str);
454 l_temp := BIS_INTERMEDIATE_LOV_PVT.getLOVSQL(p_dim_level_id, l_search_str, 'LOV', p_user_id);
455 l_sql := 'select distinct id, value from ('||l_temp||')';
456
457
458
459 IF p_rel_dim_lev_val_id IS NOT NULL THEN
460 setGlobalVar
461 ( p_dim_lev_id => p_rel_dim_lev_id
462 , p_dim_lev_val_id => p_rel_dim_lev_val_id
463 , p_dim_lev_g_var => p_rel_dim_lev_g_var
464 , x_return_status => l_return_sts
465 );
466 END IF;
467
468 -- Now parse the actual query
469 l_rcursor := DBMS_SQL.OPEN_CURSOR;
470 DBMS_SQL.PARSE(l_rcursor,l_sql,DBMS_SQL.NATIVE);
471
472 IF DBMS_SQL.IS_OPEN(l_rcursor) THEN
473 for l_pos1 in p_head.FIRST .. p_head.COUNT loop
474 l_colstore(l_pos1) := '';
475 DBMS_SQL.DEFINE_COLUMN(l_rcursor,l_pos1,l_colstore(l_pos1),32000);
476 end loop;
477 l_dummy2 := DBMS_SQL.EXECUTE(l_rcursor);
478 ELSE
479 DBMS_SQL.CLOSE_CURSOR(l_rcursor);
480 COMMIT;
481 END IF;
482 l_startnum := NVL(p_startnum,1);
483
484
485 --l_string := l_string || '<BODY BGCOLOR="'||c_pgbgcolor||'">';
486 l_string := l_string || '<BODY class="C_PGBGCOLOR">';
487
488 -- Set the set of books id for GL dimension levels
489 --
490 l_var := BIS_TARGET_PVT.G_SET_OF_BOOK_ID;
491
492 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">';
493
494 -- Transfer the clicked URL's name and id to the parent function
495 l_string := l_string ||'function transfer_value(name,id) {';
496 l_string := l_string ||' top.transfer(name,id);';
497 l_string := l_string ||' }';
498 l_string := l_string ||'</SCRIPT>';
499
500 l_string := l_string ||'<CENTER>';
501 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=2 width=95%>';
502 -- l_string := l_string ||'<TR BGCOLOR='||c_tblsurnd||'>';
503 l_string := l_string ||'<TR class="C_TBLSURND">';
504 l_string := l_string ||'<td>';
505 l_string := l_string ||'<table border=0 cellspacing=1 cellpadding=2 width=100%>';
506 --l_string := l_string ||'<TR BGCOLOR='||c_rowHeader||'>';
507 l_string := l_string ||'<TR class="C_ROWHEADER">';
508
509 for l_col in p_disp.FIRST..p_disp.COUNT loop
510 if (p_disp(l_col) = FND_API.G_TRUE) then
511 -- l_string := l_string ||'<TH><font color='||c_rowcolor||'>'||p_head(l_col)||'</font></TH>';
512 l_string := l_string ||'<TH><font class="C_FONT_COLOR">'||p_head(l_col)||'</font></TH>';
513 end if;
514 end loop;
515 l_string := l_string ||'</TR>';
516 --
517 -- ******* Print LOV DATA *********
518 --
519 l_count := 1;
520 loop
521
522 BEGIN
523 -- Fetch the rows
524 IF DBMS_SQL.IS_OPEN(l_rcursor) THEN
525 l_dummy3 := DBMS_SQL.FETCH_ROWS(l_rcursor);
526
527 IF l_dummy3 > 0 THEN
528 -- Store in local plsql table of variables
529 for l_pos1 in p_head.FIRST .. p_head.COUNT loop
530 DBMS_SQL.COLUMN_VALUE(l_rcursor,l_pos1,l_colstore(l_pos1));
531 end loop;
532 ELSE
533 DBMS_SQL.CLOSE_CURSOR(l_rcursor);
534 COMMIT;
535 END IF;
536 ELSE
537 DBMS_SQL.CLOSE_CURSOR(l_rcursor);
538 COMMIT;
539 END IF;
540
541 EXCEPTION
542 when others then
543 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">';
544 l_string := l_string ||'ERROR in LovData: '||SQLERRM;
545 l_string := l_string ||'</SCRIPT>';
546 END;
547
548 -- Start painting only those rows in the range specified
549 if (l_count >= l_startnum AND l_count < l_startnum + p_rowcount) then
550 -- Start painting the column values
551 for l_pos1 in p_head.FIRST .. p_head.COUNT loop
552 if (p_link(l_pos1) = FND_API.G_TRUE) then
553 l_linktext := bis_utilities_pvt.escape_html(l_colstore(l_pos1));
554 for l_pos2 in p_head.FIRST..p_head.COUNT loop
555 if (p_value(l_pos2) = FND_API.G_TRUE) then
556 l_linkvalue := bis_utilities_pvt.escape_html(l_colstore(l_pos2));
557 exit;
558 end if;
559 end loop;
560 --l_string := l_string ||'<TR BGCOLOR='||c_rowcolor||'>';
561 l_string := l_string ||'<TR class="C_ROWCOLOR">';
562 --l_string := l_string ||'<TD NOWRAP HEIGHT=10><A HREF="Javascript:transfer_value('''||ICX_UTIL.replace_onMouseOver_quotes(l_linktext)||''','''||l_linkvalue||''')">'||l_linktext||'</A></TD>';
563 l_string := l_string ||'<TD NOWRAP HEIGHT=10><A HREF="Javascript:transfer_value('''||REPLACE(REPLACE(REPLACE(l_linktext,'''','\'''),'"','`'||c_amp||'quot;'),'\\','\')||''','''||l_linkvalue||''')">'||l_linktext||'</A></TD>';
564
565 elsif (p_disp(l_pos1) = FND_API.G_TRUE) AND
566 (p_link(l_pos1) = FND_API.G_FALSE) then
567 --l_string := l_string ||'<TR BGCOLOR='||c_rowcolor||'>';
568 l_string := l_string ||'<TR class="C_ROWCOLOR">';
569 l_string := l_string ||'<TD NOWRAP >'||bis_utilities_pvt.escape_html(l_colstore(l_pos1))||'</TD>';
570 end if; -- to check type of column
571 end loop; -- p_coldata loop to determine the context of each col
572 l_string := l_string ||'</TR>';
573
574 end if; -- if count of rows is between the start and end
575 l_count := l_count + 1;
576 exit when (l_count >= l_startnum + p_rowcount) OR
577 (l_count > l_totalcount);
578
579 end loop;
580
581 -- Close the cursor
582 IF DBMS_SQL.IS_OPEN(l_rcursor) THEN
583 DBMS_SQL.CLOSE_CURSOR(l_rcursor);
584 COMMIT;
585 END IF;
586 l_string := l_string ||'</TABLE>';
587 l_string := l_string ||'</td>';
588 l_string := l_string ||'</TR>';
589 l_string := l_string ||'</TABLE>';
590 --l_string := l_string || '</FORM>';
591 l_string := l_string || '</CENTER>';
592 -- end if; -- icx_validate session
593 --end if; --icx_sec.validateSession
594
595 x_string := l_string;
596
597 exception
598 when others then
599 x_string := SQLERRM;
600 IF DBMS_SQL.IS_OPEN(l_rcursor) THEN
601 DBMS_SQL.CLOSE_CURSOR(l_rcursor);
602 COMMIT;
603 END IF;
604 end lov_data;
605
606 -- ****************************************************
607 -- Frame that paints the Buttons
608 -- ****************************************************
609 procedure lov_buttons
610 ( p_startnum in pls_integer default NULL
611 , p_rowcount in pls_integer default NULL
612 , p_totalavailable in pls_integer default NULL
613 , x_string out nocopy varchar
614 )
615 is
616 i pls_integer;
617 l_startnum pls_integer;
618 l_endnum pls_integer;
619 l_start pls_integer;
620 l_end pls_integer;
621 l_snext pls_integer;
622 l_enext pls_integer;
623 l_sprev pls_integer;
624 l_eprev pls_integer;
625 l_totalcount pls_integer := p_totalavailable;
626 l_to varchar2(15):= ' to ';
627 l_previous varchar2(30):= 'Previous';
628 l_next varchar2(30):= 'Next';
629 l_of varchar2(15) := ' of ';
630 l_values varchar2(15) := 'Values ';
631 l_string VARCHAR2(32000);
632
633 -- meastmon 06/20/2001
634 -- Fix for ADA buttons
635 l_button_str varchar2(32000);
636 l_button_tbl BIS_UTILITIES_PVT.HTML_Button_Tbl_Type;
637 l_append_string VARCHAR2(1000);
638 l_swan_enabled BOOLEAN;
639 l_button_edge VARCHAR2(100);
640
641 begin
642
643 --if icx_sec.validateSession then
644 l_swan_enabled := BIS_UTILITIES_PVT.checkSWANEnabled();
645 l_startnum := NVL(p_startnum,1);
646
647 -- Set the numbers for the buttons for next set of rows
648 l_snext := l_startnum + p_rowcount;
649 l_sprev := l_startnum - p_rowcount;
650
651 l_string := l_string ||'<SCRIPT LANGUAGE="Javascript">';
652
653 l_string := l_string ||'function doNothing() {';
654
655 l_string := l_string ||'}';
656
657 l_string := l_string ||'function get_nextNum() {';
658 l_string := l_string ||'top.document.DefaultFormName.p_startnum.value ='||l_snext||';';
659 l_string := l_string ||'top.document.DefaultFormName.submit();';
660 l_string := l_string ||'}';
661
662 l_string := l_string ||'function get_prevNum() {';
663 l_string := l_string ||'top.document.DefaultFormName.p_startnum.value ='||l_sprev||';';
664 l_string := l_string ||'top.document.DefaultFormName.submit();';
665 l_string := l_string ||'}';
666
667 l_string := l_string ||'function getRange() {';
668 l_string := l_string ||' var tmp = document.DefaultFormName.range.selectedIndex;';
669 l_string := l_string ||' top.document.DefaultFormName.p_startnum.value = document.DefaultFormName.range[tmp].value;';
670 l_string := l_string ||' top.document.DefaultFormName.submit();';
671 l_string := l_string ||' }';
672
673 -- Propagate the cancel event upwards to the frameset section
674 l_string := l_string ||' function cancel() {';
675 l_string := l_string ||' top.closeMe();';
676 l_string := l_string ||' }';
677
678 l_string := l_string ||' </SCRIPT>';
679
680 -- l_string := l_string ||' <BODY BGCOLOR="'||c_fmbgcolor||'">';
681 l_string := l_string ||' <BODY class="C_FMBGCOLOR">';
682
683 l_string := l_string ||'<CENTER>';
684
685 l_string := l_string ||'<!-- Open table -->';
686 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=0 width=100%>';
687
688 IF(l_swan_enabled)THEN
689 l_button_edge := BIS_UTILITIES_PVT.G_FLAT_EDGE;
690 ELSE
691 l_button_edge := BIS_UTILITIES_PVT.G_ROUND_EDGE;
692 END IF;
693
694
695 -- Check if the Buttons need to be painted
696 if (l_totalcount > p_rowcount) then
697
698 l_string := l_string ||'<!-- Open row because totalcount is more than rowcount -->';
699 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
700 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
701 l_string := l_string ||'<td align="CENTER" nowrap="YES">';
702 l_string := l_string ||'<!-- Open embedded table -->';
703 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=0 width=100%>';
704 l_string := l_string ||'<!-- Open row inside embedded table containing prev-next buttons and range -->';
705 l_string := l_string ||'<TR>';
706
707 if (l_startnum < p_rowcount) then
708 l_string := l_string ||'<td align="RIGHT" nowrap="YES">';
709
710 --meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
711 --icx_plug_utilities.buttonLeft(c_previous||' '
712 -- ||p_rowcount,'Javascript:doNothing()');
713 l_button_tbl(1).left_edge := l_button_edge;
714 l_button_tbl(1).right_edge := BIS_UTILITIES_PVT.G_FLAT_EDGE;
715 l_button_tbl(1).disabled := FND_API.G_FALSE;
716 l_button_tbl(1).label := c_previous||' '||p_rowcount;
717 l_button_tbl(1).href := 'Javascript:doNothing()';
718 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
719 l_string := l_string ||l_button_str;
720
721 l_string := l_string ||'</td>';
722 else
723 l_string := l_string ||'<td align="RIGHT" nowrap="YES">';
724
725 --meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
726 --icx_plug_utilities.buttonLeft(c_previous||' '
727 -- ||p_rowcount,'Javascript:get_prevNum()');
728 l_button_tbl(1).left_edge := l_button_edge;
729 l_button_tbl(1).right_edge := BIS_UTILITIES_PVT.G_FLAT_EDGE;
730 l_button_tbl(1).disabled := FND_API.G_FALSE;
731 l_button_tbl(1).label := c_previous||' '||p_rowcount;
732 l_button_tbl(1).href := 'Javascript:get_prevNum()';
733 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
734 l_string := l_string ||l_button_str;
735
736 l_string := l_string ||'</td>';
737 end if;
738
739 l_string := l_string ||'<td align="CENTER">';
740 l_string := l_string ||'<SELECT NAME="range" onChange="getRange()">';
741 i := 1;
742 l_start := 1;
743 l_end := 1;
744 while (l_end <= l_totalcount) loop
745 l_end := l_start + (p_rowcount -1);
746 if (l_end >= l_totalcount) then
747 l_end := l_totalcount;
748 if l_start = l_startnum then
749 l_string := l_string ||'<OPTION SELECTED VALUE='||l_start||'>'||l_start||l_to||l_end||l_of||l_totalcount;
750 else
751 l_string := l_string ||'<OPTION VALUE='||l_start||'>'||l_start||l_to||l_end||l_of||l_totalcount;
752 end if;
753 exit;
754 end if;
755 if l_start = l_startnum then
756 l_string := l_string ||'<OPTION SELECTED VALUE='||l_start||'>'||l_start||l_to||l_end||l_of||l_totalcount;
757 else
758 l_string := l_string ||'<OPTION VALUE='||l_start||'>'||l_start||l_to||l_end||l_of||l_totalcount;
759 end if;
760
761 i := i + 1;
762 l_start := l_start + p_rowcount;
763 end loop;
764 l_string := l_string ||'</SELECT>';
765 l_string := l_string ||'</td>';
766
767 if (l_startnum + p_rowcount >= l_totalcount) then
768 l_string := l_string ||'<td align="LEFT" nowrap="YES">';
769
770 --meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
771 --icx_plug_utilities.buttonRight(c_next||' '
772 -- ||p_rowcount,'Javascript:doNothing()');
773 l_button_tbl(1).left_edge := BIS_UTILITIES_PVT.G_FLAT_EDGE;
774 l_button_tbl(1).right_edge := l_button_edge;
775 l_button_tbl(1).disabled := FND_API.G_FALSE;
776 l_button_tbl(1).label := c_next||' '||p_rowcount;
777 l_button_tbl(1).href := 'Javascript:doNothing()';
778 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
779 l_string := l_string ||l_button_str;
780
781 l_string := l_string ||'</td>';
782 else
783 l_string := l_string ||'<td align="LEFT" nowrap="YES">';
784
785 --meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
786 --icx_plug_utilities.buttonRight(c_next||' '
787 -- ||p_rowcount,'Javascript:get_nextNum()');
788 l_button_tbl(1).left_edge := BIS_UTILITIES_PVT.G_FLAT_EDGE;
789 l_button_tbl(1).right_edge := l_button_edge;
790 l_button_tbl(1).disabled := FND_API.G_FALSE;
791 l_button_tbl(1).label := c_next||' '||p_rowcount;
792 l_button_tbl(1).href := 'Javascript:get_nextNum()';
793 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
794 l_string := l_string ||l_button_str;
795
796 l_string := l_string ||'</td>';
797 end if;
798
799 l_string := l_string ||'<!-- Close row containing buttons and range poplist -->';
800 l_string := l_string ||'</TR>';
801 l_string := l_string ||'<!-- Close embedded table containing buttons and range poplist -->';
802 l_string := l_string ||'</TABLE>';
803 l_string := l_string ||'</td>';
804 l_string := l_string ||'<!-- Close row containing embedded table buttons and range poplist -->';
805 l_string := l_string ||'</TR>';
806
807 else
808 l_string := l_string ||'<!-- If totalcount is less than rowcount paint an extra stip of grey -->';
809 --l_string := l_string ||'<TR BGCOLOR='||c_pgbgcolor||'>';
810 l_string := l_string ||'<TR class="C_PGBGCOLOR">';
811 l_string := l_string ||'<td><BR></td>';
812 l_string := l_string ||'</TR>';
813
814 end if; -- to decide to even print the prev,next,range items
815
816 l_string := l_string ||'<!-- Open row to paint an empty strip of framecolor -->';
817 --l_string := l_string ||'<TR BGCOLOR='||c_fmbgcolor||'>';
818 /*l_string := l_string ||'<TR style="background-image:url(/OA_HTML/cabo/images/footerBg.gif);background-repeat:repeat-x;height:41px" >';
819 l_string := l_string ||'<td><font size = -2><BR></font></td>';
820 l_string := l_string ||'<!-- Close row to paint an empty strip of framecolor -->';
821 l_string := l_string ||'</TR>';*/
822 l_string := l_string ||'<!-- Open row to paint the cancel button -->';
823
824 --l_string := l_string ||'<TR BGCOLOR='||c_fmbgcolor||'>';
825 IF(l_swan_enabled)THEN
826 l_string := l_string ||'<TR style="background-image:url(/OA_HTML/cabo/images/footerBg.gif);background-repeat:repeat-x;height:41px" >';
827 ELSE
828 l_string := l_string ||'<TR class="C_FMBGCOLOR">';
829 END IF;
830 l_string := l_string ||'<td align="RIGHT">';
831 l_string := l_string ||'<table border=0 cellspacing=0 cellpadding=0 width=20%>';
832 l_string := l_string ||'<TR>';
833 l_string := l_string ||'<td align="RIGHT" nowrap="YES">';
834
835 --meastmon 06/20/2001. ICX Button is not ADA Complaint. ICX is not going to fix that.
836 --icx_plug_utilities.buttonBoth(c_cancel,'Javascript:cancel()');
837 l_button_tbl(1).left_edge := l_button_edge;
838 l_button_tbl(1).right_edge := l_button_edge;
839 l_button_tbl(1).disabled := FND_API.G_FALSE;
840 l_button_tbl(1).label := c_cancel;
841 l_button_tbl(1).href := 'Javascript:cancel()';
842 BIS_UTILITIES_PVT.GetButtonString(l_button_tbl, l_button_str);
843 l_string := l_string ||l_button_str;
844
845 l_string := l_string ||'</td>';
846 l_string := l_string ||'</TR>';
847 l_string := l_string ||'</TABLE>';
848 l_string := l_string ||'</td>';
849 l_string := l_string ||'<!-- Close row to paint the cancel button -->';
850 l_string := l_string ||'</TR>';
851 l_string := l_string ||'<!-- Close main table -->';
852 l_string := l_string ||'</TABLE>';
853 l_string := l_string ||'</CENTER>';
854 --l_string := l_string ||'</FORM>';
855
856 x_string := l_string;
857
858 --end if; --icx_sec.validateSession
859
860 exception
861 when others then --htp.p(SQLERRM);
862 x_string := SQLERRM;
863 end lov_buttons;
864
865
866 -- ****************************************************
867 -- Function to return a string with attachments on
868 -- both sides
869 -- ****************************************************
870 function concat_string (p_search_str varchar2 default NULL)
871 return
872 varchar2 is
873 v_local_str varchar2(200);
874
875 begin
876 v_local_str := ''''||NVL(p_search_str,c_percent)||'''';
877
878 return v_local_str;
879 end concat_string;
880
881 -- *****************************************************
882 -- Procedure to paint the Javascript for LOV window
883 -- *****************************************************
884 procedure lovjscript
885 (x_string out nocopy varchar2
886 )
887 is
888 l_string VARCHAR2(32000);
889 begin
890 --if icx_sec.validateSession then
891 l_string := l_string || '<SCRIPT LANGUAGE="JavaScript">';
892 -- **************************
893 -- BEGIN MODAL DIALOG CODE
894 -- **************************
895 -- Global for type of browser
896 l_string := l_string ||'var Nav4 = ((navigator.appName == "Netscape") '||c_amp|| c_amp||' (parseInt(navigator.appVersion) == 4));';
897
898 -- one object tracks the current modal dialog spawned from this window
899 l_string := l_string ||'var modalWin = new Object();';
900
901 -- Generate a modal window from any frame of the parent window
902 -- Parameters:
903 -- js_procname : plsql procedure that creates the sql query
904 -- js_qrycnd : query condition
905 -- js_jsfuncname : name of the javascript function that will
906 -- receive the returning value
907 l_string := l_string ||' function getLOV(js_procname,js_qrycnd,js_jsfuncname,Z,js_dim1_lbl) {';
908 --l_string := l_string ||'// Bug 1797465 if label has a space then replace it with +';
909 l_string := l_string ||'out = " "; ';--// replace this
910 l_string := l_string ||'add = "+";'; --// with this';
911 l_string := l_string ||'temp = "" + js_dim1_lbl; ';--// temporary holder';
912
913 l_string := l_string ||'while (temp.indexOf(out)>-1) {';
914 l_string := l_string ||'pos= temp.indexOf(out);';
915 l_string := l_string ||'temp = "" + (temp.substring(0, pos) + add +';
916 l_string := l_string ||'temp.substring((pos + out.length), temp.length));';
917 l_string := l_string ||'}';
918 --l_string := l_string ||'// load up properties of the modal window object';
919 --l_string := l_string ||'modalWin.url = js_procname + "p_qrycnd=" + js_qrycnd + "'||c_amp||'p_jsfuncname=" + js_jsfuncname + "'||c_amp||'Z=" + Z + "'||c_amp||'p_dim1_lbl=" + temp;';
920 l_string := l_string ||'modalWin.url = "/OA_HTML/OA.jsp?page=/oracle/apps/bis/pmf/pmportlet/pages/BISPMFLOV'||c_amp||'p_qrycnd=" + js_qrycnd + "'||c_amp||'p_jsfuncname=" + js_jsfuncname + "'||c_amp||'Z=" + Z + "'||c_amp||'p_dim1_lbl=" + temp;';
921 --l_string := l_string ||'// alert("Window URL: "+modalWin.url);';
922 l_string := l_string ||'modalWin.width = 400;';
923 l_string := l_string ||'modalWin.height = 460;';
924 --l_string := l_string ||'// keep name unique so Navigator does not overwrite an existing dialog';
925 l_string := l_string ||'modalWin.name = (new Date()).getSeconds().toString();';
926 l_string := l_string ||'if (Nav4) {';
927 --l_string := l_string ||'// center on the main window';
928 l_string := l_string ||'modalWin.left = window.screenX + ((window.outerWidth - modalWin.width) / 2);';
929 l_string := l_string ||'modalWin.top = window.screenY + ((window.outerHeight - modalWin.height) / 2);';
930 l_string := l_string ||'var attr = "screenX=" + modalWin.left + ",screenY=" + modalWin.top + ",resizable=no,dependent=yes,width=" + modalWin.width + ",height=" + modalWin.height;';
931 l_string := l_string ||' } else {';
932 --l_string := l_string ||'// best we can do is center in screen';
933 l_string := l_string ||'modalWin.left = (screen.width - modalWin.width) / 2;';
934 l_string := l_string ||'modalWin.top = (screen.height - modalWin.height) / 2;';
935 l_string := l_string ||'var attr = "left=" + modalWin.left + ",top=" + modalWin.top+ ",resizable=no,width=" + modalWin.width + ",height=" + modalWin.height;';
936 l_string := l_string ||'}';
937 --l_string := l_string ||'// generate the window and make sure it has focus';
938 l_string := l_string ||'modalWin.win=window.open(modalWin.url, modalWin.name, attr);';
939 l_string := l_string ||'modalWin.win.focus();';
940 l_string := l_string ||'}';
941
942
943 -- event handler to prevent any Navigator widget action when modal is active
944 l_string := l_string ||'function deadend() {';
945 l_string := l_string ||'if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
946 l_string := l_string ||'modalWin.win.focus();';
947 l_string := l_string ||'return false;';
948 l_string := l_string ||'}';
949 l_string := l_string ||'}';
950
951 -- preserve IE link onclick event handlers while they are disabled;
952 -- restore when reenabling the main window
953 l_string := l_string ||'var IELinkClicks;';
954
955 -- disable form elements and links in all frames for IE
956 l_string := l_string ||'function disableForms() {';
957 l_string := l_string ||'IELinkClicks = new Array();';
958 l_string := l_string ||'for (var h = 0; h < frames.length; h++) {';
959 l_string := l_string ||'for (var i = 0; i < frames[h].document.forms.length; i++) {';
960 l_string := l_string ||'for (var j=0; j<frames[h].document.forms[i].elements.length; j++) {';
961 l_string := l_string ||'frames[h].document.forms[i].elements[j].disabled = true;';
962 l_string := l_string ||'}';
963 l_string := l_string ||'}';
964 l_string := l_string ||'IELinkClicks[h] = new Array();';
965 l_string := l_string ||'for (i = 0; i < frames[h].document.links.length; i++) {';
966 l_string := l_string ||'IELinkClicks[h][i] = frames[h].document.links[i].onclick;';
967 l_string := l_string ||'frames[h].document.links[i].onclick = deadend;';
968 l_string := l_string ||'}';
969 l_string := l_string ||'}';
970 l_string := l_string ||'}';
971
972 -- restore IE form elements and links to normal behavior
973 l_string := l_string ||'function enableForms() {';
974 l_string := l_string ||'for (var h = 0; h < frames.length; h++) {';
975 l_string := l_string ||'for (var i = 0; i < frames[h].document.forms.length; i++) {';
976 l_string := l_string ||'for (var j=0; j<frames[h].document.forms[i].elements.length; j++) {';
977 l_string := l_string ||'frames[h].document.forms[i].elements[j].disabled = false;';
978 l_string := l_string ||'}';
979 l_string := l_string ||'}';
980 l_string := l_string ||'for (i = 0; i < frames[h].document.links.length; i++) {';
981 l_string := l_string ||'frames[h].document.links[i].onclick = IELinkClicks[h][i];';
982 l_string := l_string ||'}';
983 l_string := l_string ||'}';
984 l_string := l_string ||' }';
985
986 -- extra work for Navigator
987 l_string := l_string ||'function blockEvents() {';
988 l_string := l_string ||'if (Nav4) {';
989 l_string := l_string ||'window.captureEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS);';
990 l_string := l_string ||'window.onclick = deadend;';
991 l_string := l_string ||'window.onfocus = checkModal;';
992 l_string := l_string ||'} else {';
993 l_string := l_string ||'disableForms();';
994 l_string := l_string ||'}';
995 l_string := l_string ||'}';
996
997 l_string := l_string ||'function unblockEvents() {';
998 l_string := l_string ||'if (Nav4) {';
999 l_string := l_string ||'window.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS);';
1000 l_string := l_string ||'window.onclick = null;';
1001 l_string := l_string ||'window.onfocus = null;';
1002 l_string := l_string ||'} else {';
1003 l_string := l_string ||'enableForms();';
1004 l_string := l_string ||'}';
1005 l_string := l_string ||'}';
1006
1007 -- invoked by onFocus event handler of EVERY frame document
1008 l_string := l_string ||'function checkModal() {';
1009 l_string := l_string ||' if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
1010 l_string := l_string ||'modalWin.win.focus();';
1011 l_string := l_string ||'}';
1012 l_string := l_string ||'}';
1013
1014 -- clear opener reference in a modal if dialog is showing;
1015 -- takes care of case when user closes main window while dialog is showing
1016 l_string := l_string ||'function cancelModal() {';
1017 l_string := l_string ||'if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
1018 l_string := l_string ||'modalWin.win.opener = null;';
1019 l_string := l_string ||'}';
1020 l_string := l_string ||'}';
1021
1022
1023
1024 l_string := l_string ||'function getdim0(name,id) {';
1025 l_string := l_string ||'var end = document.DefaultFormName.dim0.length;';
1026 l_string := l_string ||'var tempText = document.DefaultFormName.dim0[end-1].text;';
1027 l_string := l_string ||'var tempValue = document.DefaultFormName.dim0.options[end-1].value;';
1028 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1029 l_string := l_string ||'var found = "false";';
1030 l_string := l_string ||'var ind = 0;';
1031 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim0.length; i++) {';
1032 l_string := l_string ||'if (document.DefaultFormName.dim0[i].text == name ){';
1033 l_string := l_string ||'found = "true";';
1034 l_string := l_string ||'ind = i;';
1035 l_string := l_string ||'}';
1036 l_string := l_string ||'}';
1037 l_string := l_string ||'if (found == "false"){';
1038 l_string := l_string ||'document.DefaultFormName.dim0[end-1].text = name;';
1039 l_string := l_string ||'document.DefaultFormName.dim0.options[end-1].value = id;';
1040 l_string := l_string ||'document.DefaultFormName.dim0.options[end] = new Option(tempText,tempValue);';
1041 l_string := l_string ||'document.DefaultFormName.dim0.selectedIndex = end-1;';
1042 l_string := l_string ||'}';
1043 l_string := l_string ||'else ';
1044 l_string := l_string ||'document.DefaultFormName.dim0.selectedIndex = ind;';
1045 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1046 l_string := l_string ||'}';
1047
1048 l_string := l_string ||'function getdim1(name,id) {';
1049 l_string := l_string ||'var end = document.DefaultFormName.dim1.length;';
1050 l_string := l_string ||'var tempText = document.DefaultFormName.dim1[end-1].text;';
1051 l_string := l_string ||'var tempValue = document.DefaultFormName.dim1.options[end-1].value;';
1052 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1053 l_string := l_string ||'var found = "false";';
1054 l_string := l_string ||'var ind = 0;';
1055 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim1.length; i++) {';
1056 l_string := l_string ||'if (document.DefaultFormName.dim1[i].text == name ){';
1057 l_string := l_string ||'found = "true";';
1058 l_string := l_string ||'ind = i;';
1059 l_string := l_string ||'}';
1060 l_string := l_string ||'}';
1061 l_string := l_string ||'if (found == "false"){';
1062 l_string := l_string ||'document.DefaultFormName.dim1[end-1].text = name;';
1063 l_string := l_string ||'document.DefaultFormName.dim1.options[end-1].value = id;';
1064 l_string := l_string ||'document.DefaultFormName.dim1.options[end] = new Option(tempText,tempValue);';
1065 l_string := l_string ||'document.DefaultFormName.dim1.selectedIndex = end-1;';
1066 l_string := l_string ||'}';
1067 l_string := l_string ||'else ';
1068 l_string := l_string ||'document.DefaultFormName.dim1.selectedIndex = ind;';
1069 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1070 l_string := l_string ||'}';
1071
1072 l_string := l_string ||'function getdim2(name,id) {';
1073 l_string := l_string ||'var end = document.DefaultFormName.dim2.length;';
1074 l_string := l_string ||'var tempText = document.DefaultFormName.dim2[end-1].text;';
1075 l_string := l_string ||'var tempValue = document.DefaultFormName.dim2.options[end-1].value;';
1076 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1077 l_string := l_string ||'var found = "false";';
1078 l_string := l_string ||'var ind = 0;';
1079 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim2.length; i++) {';
1080 l_string := l_string ||'if (document.DefaultFormName.dim2[i].text == name ){';
1081 l_string := l_string ||'found = "true";';
1082 l_string := l_string ||'ind = i;';
1083 l_string := l_string ||'}';
1084 l_string := l_string ||'}';
1085 l_string := l_string ||'if (found == "false"){';
1086 l_string := l_string ||'document.DefaultFormName.dim2[end-1].text = name;';
1087 l_string := l_string ||'document.DefaultFormName.dim2.options[end-1].value = id;';
1088 l_string := l_string ||'document.DefaultFormName.dim2.options[end] = new Option(tempText,tempValue);';
1089 l_string := l_string ||'document.DefaultFormName.dim2.selectedIndex = end-1;';
1090 l_string := l_string ||'}';
1091 l_string := l_string ||'else ';
1092 l_string := l_string ||'document.DefaultFormName.dim2.selectedIndex = ind;';
1093 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1094 l_string := l_string ||'}';
1095
1096 l_string := l_string ||'function getdim3(name,id) {';
1097 l_string := l_string ||'var end = document.DefaultFormName.dim3.length;';
1098 l_string := l_string ||'var tempText = document.DefaultFormName.dim3[end-1].text;';
1099 l_string := l_string ||'var tempValue = document.DefaultFormName.dim3.options[end-1].value;';
1100 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1101 l_string := l_string ||'var found = "false";';
1102 l_string := l_string ||'var ind = 0;';
1103 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim3.length; i++) {';
1104 l_string := l_string ||'if (document.DefaultFormName.dim3[i].text == name ){';
1105 l_string := l_string ||'found = "true";';
1106 l_string := l_string ||'ind = i;';
1107 l_string := l_string ||'}';
1108 l_string := l_string ||'}';
1109 l_string := l_string ||'if (found == "false"){';
1110 l_string := l_string ||'document.DefaultFormName.dim3[end-1].text = name;';
1111 l_string := l_string ||'document.DefaultFormName.dim3.options[end-1].value = id;';
1112 l_string := l_string ||'document.DefaultFormName.dim3.options[end] = new Option(tempText,tempValue);';
1113 l_string := l_string ||'document.DefaultFormName.dim3.selectedIndex = end-1;';
1114 l_string := l_string ||'}';
1115 l_string := l_string ||'else ';
1116 l_string := l_string ||'document.DefaultFormName.dim3.selectedIndex = ind;';
1117 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1118 l_string := l_string ||'}';
1119
1120 l_string := l_string ||'function getdim4(name,id) {';
1121 l_string := l_string ||'var end = document.DefaultFormName.dim4.length;';
1122 l_string := l_string ||'var tempText = document.DefaultFormName.dim4[end-1].text;';
1123 l_string := l_string ||'var tempValue = document.DefaultFormName.dim4.options[end-1].value;';
1124 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1125 l_string := l_string ||'var found = "false";';
1126 l_string := l_string ||'var ind = 0;';
1127 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim4.length; i++) {';
1128 l_string := l_string ||'if (document.DefaultFormName.dim4[i].text == name ){';
1129 l_string := l_string ||'found = "true";';
1130 l_string := l_string ||'ind = i;';
1131 l_string := l_string ||'}';
1132 l_string := l_string ||'}';
1133 l_string := l_string ||'if (found == "false"){';
1134 l_string := l_string ||'document.DefaultFormName.dim4[end-1].text = name;';
1135 l_string := l_string ||'document.DefaultFormName.dim4.options[end-1].value = id;';
1136 l_string := l_string ||'document.DefaultFormName.dim4.options[end] = new Option(tempText,tempValue);';
1137 l_string := l_string ||'document.DefaultFormName.dim4.selectedIndex = end-1;';
1138 l_string := l_string ||'}';
1139 l_string := l_string ||'else ';
1140 l_string := l_string ||'document.DefaultFormName.dim4.selectedIndex = ind;';
1141 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1142 l_string := l_string ||'}';
1143
1144 l_string := l_string ||'function getdim5(name,id) {';
1145 l_string := l_string ||'var end = document.DefaultFormName.dim5.length;';
1146 l_string := l_string ||'var tempText = document.DefaultFormName.dim5[end-1].text;';
1147 l_string := l_string ||'var tempValue = document.DefaultFormName.dim5.options[end-1].value;';
1148 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1149 l_string := l_string ||'var found = "false";';
1150 l_string := l_string ||'var ind = 0;';
1151 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim5.length; i++) {';
1152 l_string := l_string ||'if (document.DefaultFormName.dim5[i].text == name ){';
1153 l_string := l_string ||'found = "true";';
1154 l_string := l_string ||'ind = i;';
1155 l_string := l_string ||'}';
1156 l_string := l_string ||'}';
1157 l_string := l_string ||'if (found == "false"){';
1158 l_string := l_string ||'document.DefaultFormName.dim5[end-1].text = name;';
1159 l_string := l_string ||'document.DefaultFormName.dim5.options[end-1].value = id;';
1160 l_string := l_string ||'document.DefaultFormName.dim5.options[end] = new Option(tempText,tempValue);';
1161 l_string := l_string ||'document.DefaultFormName.dim5.selectedIndex = end-1;';
1162 l_string := l_string ||'}';
1163 l_string := l_string ||'else ';
1164 l_string := l_string ||'document.DefaultFormName.dim5.selectedIndex = ind;';
1165 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1166 l_string := l_string ||'}';
1167
1168 l_string := l_string ||'function getdim6(name,id) {';
1169 l_string := l_string ||'var end = document.DefaultFormName.dim6.length;';
1170 l_string := l_string ||'var tempText = document.DefaultFormName.dim6[end-1].text;';
1171 l_string := l_string ||'var tempValue = document.DefaultFormName.dim6.options[end-1].value;';
1172 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1173 l_string := l_string ||'var found = "false";';
1174 l_string := l_string ||'var ind = 0;';
1175 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim6.length; i++) {';
1176 l_string := l_string ||'if (document.DefaultFormName.dim6[i].text == name ){';
1177 l_string := l_string ||'found = "true";';
1178 l_string := l_string ||'ind = i;';
1179 l_string := l_string ||'}';
1180 l_string := l_string ||'}';
1181 l_string := l_string ||'if (found == "false"){';
1182 l_string := l_string ||'document.DefaultFormName.dim6[end-1].text = name;';
1183 l_string := l_string ||'document.DefaultFormName.dim6.options[end-1].value = id;';
1184 l_string := l_string ||'document.DefaultFormName.dim6.options[end] = new Option(tempText,tempValue);';
1185 l_string := l_string ||'document.DefaultFormName.dim6.selectedIndex = end-1;';
1186 l_string := l_string ||'}';
1187 l_string := l_string ||'else ';
1188 l_string := l_string ||'document.DefaultFormName.dim6.selectedIndex = ind;';
1189 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1190 l_string := l_string ||'}';
1191
1192 l_string := l_string ||'function getdim7(name,id) {';
1193 l_string := l_string ||'var end = document.DefaultFormName.dim7.length;';
1194 l_string := l_string ||'var tempText = document.DefaultFormName.dim7[end-1].text;';
1195 l_string := l_string ||'var tempValue = document.DefaultFormName.dim7.options[end-1].value;';
1196 --l_string := l_string ||' // 2309961 add to the poplist only when it is not already available';
1197 l_string := l_string ||'var found = "false";';
1198 l_string := l_string ||'var ind = 0;';
1199 l_string := l_string ||'for (var i = 0; i < document.DefaultFormName.dim7.length; i++) {';
1200 l_string := l_string ||'if (document.DefaultFormName.dim7[i].text == name ){';
1201 l_string := l_string ||'found = "true";';
1202 l_string := l_string ||'ind = i;';
1203 l_string := l_string ||'}';
1204 l_string := l_string ||'}';
1205 l_string := l_string ||'if (found == "false"){';
1206 l_string := l_string ||'document.DefaultFormName.dim7[end-1].text = name;';
1207 l_string := l_string ||'document.DefaultFormName.dim7.options[end-1].value = id;';
1208 l_string := l_string ||'document.DefaultFormName.dim7.options[end] = new Option(tempText,tempValue);';
1209 l_string := l_string ||'document.DefaultFormName.dim7.selectedIndex = end-1;';
1210 l_string := l_string ||'}';
1211 l_string := l_string ||'else ';
1212 l_string := l_string ||'document.DefaultFormName.dim7.selectedIndex = ind;';
1213 --l_string := l_string ||'// 2309961 add to the poplist only when it is not already available';
1214 l_string := l_string ||'}';
1215
1216
1217
1218 -- **************************
1219 -- END MODAL DIALOG CODE
1220 -- **************************
1221 l_string := l_string ||'</SCRIPT>';
1222 --end if; --icx_sec.validateSession
1223
1224 x_string := l_string;
1225 end lovjscript;
1226
1227 -- mdamle 01/15/2001 - Added the same lovjscript for the edit page
1228 procedure editlovjscript
1229 ( x_string out nocopy varchar2
1230 )
1231 is
1232 l_string VARCHAR2(32000);
1233 begin
1234 --if icx_sec.validateSession then
1235 l_string := l_string ||'<SCRIPT LANGUAGE="JavaScript">';
1236 -- **************************
1237 -- BEGIN MODAL DIALOG CODE
1238 -- **************************
1239 -- Global for type of browser
1240 l_string := l_string || 'var Nav4 = ((navigator.appName == "Netscape") '||c_amp|| c_amp||' (parseInt(navigator.appVersion) == 4));';
1241
1242 -- one object tracks the current modal dialog spawned from this window
1243 l_string := l_string || 'var modalWin = new Object();';
1244
1245 -- Generate a modal window from any frame of the parent window
1246 -- Parameters:
1247 -- js_procname : plsql procedure that creates the sql query
1248 -- js_qrycnd : query condition
1249 -- js_jsfuncname : name of the javascript function that will
1250 -- receive the returning value
1251 l_string := l_string || ' function getLOV(js_procname,js_qrycnd,js_jsfuncname,Z) {';
1252 --l_string := l_string || '// load up properties of the modal window object';
1253 l_string := l_string || 'modalWin.url = js_procname + "p_qrycnd=" + js_qrycnd + "'||c_amp||'p_jsfuncname=" + js_jsfuncname + "'||c_amp||'Z=" + Z;';
1254 l_string := l_string ||'modalWin.url = "/OA_HTML/OA.jsp?page=/oracle/apps/bis/pmf/pmportlet/pages/BISPMFLOV'||c_amp||'p_qrycnd=" + js_qrycnd + "'||c_amp||'p_jsfuncname=" + js_jsfuncname + "'||c_amp||'Z=" + Z;'; --+ "'||c_amp||'p_dim1_lbl=" + temp;';
1255
1256 --l_string := l_string ||' //alert("Window URL: "+modalWin.url);';
1257
1258 l_string := l_string ||'modalWin.width = 400;';
1259 l_string := l_string ||'modalWin.height = 460;';
1260 --l_string := l_string ||'// keep name unique so Navigator does not overwrite an existing dialog';
1261 l_string := l_string ||'modalWin.name = (new Date()).getSeconds().toString();';
1262 l_string := l_string ||'if (Nav4) {';
1263 --l_string := l_string ||'// center on the main window';
1264 l_string := l_string ||'modalWin.left = window.screenX + ((window.outerWidth - modalWin.width) / 2);';
1265 l_string := l_string ||'modalWin.top = window.screenY + ((window.outerHeight - modalWin.height) / 2);';
1266 l_string := l_string ||'var attr = "screenX=" + modalWin.left + ",screenY=" + modalWin.top + ",resizable=no,dependent=yes,width=" + modalWin.width + ",height=" + modalWin.height;';
1267 l_string := l_string ||'} else {';
1268 --l_string := l_string ||'// best we can do is center in screen';
1269 l_string := l_string ||'modalWin.left = (screen.width - modalWin.width) / 2;';
1270 l_string := l_string ||'modalWin.top = (screen.height - modalWin.height) / 2;';
1271 l_string := l_string ||'var attr = "left=" + modalWin.left + ",top=" + modalWin.top+ ",resizable=no,width=" + modalWin.width + ",height=" + modalWin.height;';
1272 l_string := l_string ||'}';
1273 --l_string := l_string ||'// generate the window and make sure it has focus';
1274 l_string := l_string ||'modalWin.win=window.open(modalWin.url, modalWin.name, attr);';
1275 l_string := l_string ||'modalWin.win.focus();';
1276 l_string := l_string ||'}';
1277
1278 -- event handler to prevent any Navigator widget action when modal is active
1279 l_string := l_string ||'function deadend() {';
1280 l_string := l_string ||'if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
1281 l_string := l_string ||'modalWin.win.focus();';
1282 l_string := l_string ||'return false;';
1283 l_string := l_string ||'}';
1284 l_string := l_string ||'}';
1285
1286 -- preserve IE link onclick event handlers while they are disabled;
1287 -- restore when reenabling the main window
1288 l_string := l_string ||'var IELinkClicks;';
1289
1290 -- disable form elements and links in all frames for IE
1291 l_string := l_string ||'function disableForms() {';
1292 l_string := l_string ||' IELinkClicks = new Array();';
1293 l_string := l_string ||' for (var h = 0; h < frames.length; h++) {';
1294 l_string := l_string ||' for (var i = 0; i < frames[h].document.forms.length; i++) {';
1295 l_string := l_string ||'for (var j=0; j<frames[h].document.forms[i].elements.length; j++) {';
1296 l_string := l_string ||'frames[h].document.forms[i].elements[j].disabled = true;';
1297 l_string := l_string ||'}';
1298 l_string := l_string ||'}';
1299 l_string := l_string ||'IELinkClicks[h] = new Array();';
1300 l_string := l_string ||'for (i = 0; i < frames[h].document.links.length; i++) {';
1301 l_string := l_string ||'IELinkClicks[h][i] = frames[h].document.links[i].onclick;';
1302 l_string := l_string ||'frames[h].document.links[i].onclick = deadend;';
1303 l_string := l_string ||'}';
1304 l_string := l_string ||'}';
1305 l_string := l_string ||'}';
1306
1307 -- restore IE form elements and links to normal behavior
1308 l_string := l_string ||'function enableForms() {';
1309 l_string := l_string ||'for (var h = 0; h < frames.length; h++) {';
1310 l_string := l_string ||'for (var i = 0; i < frames[h].document.forms.length; i++) {';
1311 l_string := l_string ||'for (var j=0; j<frames[h].document.forms[i].elements.length; j++) {';
1312 l_string := l_string ||'frames[h].document.forms[i].elements[j].disabled = false;';
1313 l_string := l_string ||'}';
1314 l_string := l_string ||'}';
1315 l_string := l_string ||'for (i = 0; i < frames[h].document.links.length; i++) {';
1316 l_string := l_string ||'frames[h].document.links[i].onclick = IELinkClicks[h][i];';
1317 l_string := l_string ||'}';
1318 l_string := l_string ||'}';
1319 l_string := l_string ||'}';
1320
1321 -- extra work for Navigator
1322 l_string := l_string ||'function blockEvents() {';
1323 l_string := l_string ||'if (Nav4) {';
1324 l_string := l_string ||'window.captureEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS);';
1325 l_string := l_string ||'window.onclick = deadend;';
1326 l_string := l_string ||'window.onfocus = checkModal;';
1327 l_string := l_string ||'} else {';
1328 l_string := l_string ||'disableForms();';
1329 l_string := l_string ||'}';
1330 l_string := l_string ||'}';
1331
1332 l_string := l_string ||'function unblockEvents() {';
1333 l_string := l_string ||'if (Nav4) {';
1334 l_string := l_string ||'window.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS);';
1335 l_string := l_string ||'window.onclick = null;';
1336 l_string := l_string ||'window.onfocus = null;';
1337 l_string := l_string ||'} else {';
1338 l_string := l_string ||'enableForms();';
1339 l_string := l_string ||'}';
1340 l_string := l_string ||'}';
1341
1342 -- invoked by onFocus event handler of EVERY frame document
1343 l_string := l_string ||'function checkModal() {';
1344 l_string := l_string ||'if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
1345 l_string := l_string ||'modalWin.win.focus();';
1346 l_string := l_string ||'}';
1347 l_string := l_string ||'}';
1348
1349 -- clear opener reference in a modal if dialog is showing;
1350 -- takes care of case when user closes main window while dialog is showing
1351 l_string := l_string ||'function cancelModal() {';
1352 l_string := l_string ||'if (modalWin.win '||c_amp || c_amp||' !modalWin.win.closed) {';
1353 l_string := l_string ||'modalWin.win.opener = null;';
1354 l_string := l_string ||'}';
1355 l_string := l_string ||'}';
1356
1357
1358 l_string := l_string ||'function getdim0(name,id) {';
1359 l_string := l_string ||'var end = document.editDimensions.dim0.length;';
1360 l_string := l_string ||'var tempText = document.editDimensions.dim0[end-1].text;';
1361 l_string := l_string ||'var tempValue = document.editDimensions.dim0.options[end-1].value;';
1362 l_string := l_string ||'document.editDimensions.dim0[end-1].text = name;';
1363 l_string := l_string ||'document.editDimensions.dim0.options[end-1].value = id;';
1364 l_string := l_string ||'document.editDimensions.dim0.options[end] = new Option(tempText,tempValue);';
1365 l_string := l_string ||'document.editDimensions.dim0.selectedIndex = end-1;';
1366 l_string := l_string ||'}';
1367
1368 l_string := l_string ||'function getdim1(name,id) {';
1369 l_string := l_string ||'var end = document.editDimensions.dim1.length;';
1370 l_string := l_string ||'var tempText = document.editDimensions.dim1[end-1].text;';
1371 l_string := l_string ||'var tempValue = document.editDimensions.dim1.options[end-1].value;';
1372 l_string := l_string ||'document.editDimensions.dim1[end-1].text = name;';
1373 l_string := l_string ||'document.editDimensions.dim1.options[end-1].value = id;';
1374 l_string := l_string ||'document.editDimensions.dim1.options[end] = new Option(tempText,tempValue);';
1375 l_string := l_string ||'document.editDimensions.dim1.selectedIndex = end-1;';
1376 l_string := l_string ||'}';
1377
1378 l_string := l_string ||'function getdim2(name,id) {';
1379 l_string := l_string ||'var end = document.editDimensions.dim2.length;';
1380 l_string := l_string ||'var tempText = document.editDimensions.dim2[end-1].text;';
1381 l_string := l_string ||'var tempValue = document.editDimensions.dim2.options[end-1].value;';
1382 l_string := l_string ||'document.editDimensions.dim2[end-1].text = name;';
1383 l_string := l_string ||'document.editDimensions.dim2.options[end-1].value = id;';
1384 l_string := l_string ||'document.editDimensions.dim2.options[end] = new Option(tempText,tempValue);';
1385 l_string := l_string ||'document.editDimensions.dim2.selectedIndex = end-1;';
1386 l_string := l_string ||'}';
1387
1388 l_string := l_string ||'function getdim3(name,id) {';
1389 l_string := l_string ||'var end = document.editDimensions.dim3.length;';
1390 l_string := l_string ||'var tempText = document.editDimensions.dim3[end-1].text;';
1391 l_string := l_string ||'var tempValue = document.editDimensions.dim3.options[end-1].value;';
1392 l_string := l_string ||'document.editDimensions.dim3[end-1].text = name;';
1393 l_string := l_string ||'document.editDimensions.dim3.options[end-1].value = id;';
1394 l_string := l_string ||'document.editDimensions.dim3.options[end] = new Option(tempText,tempValue);';
1395 l_string := l_string ||'document.editDimensions.dim3.selectedIndex = end-1;';
1396 l_string := l_string ||'}';
1397
1398 l_string := l_string ||'function getdim4(name,id) {';
1399 l_string := l_string ||'var end = document.editDimensions.dim4.length;';
1400 l_string := l_string ||'var tempText = document.editDimensions.dim4[end-1].text;';
1401 l_string := l_string ||'var tempValue = document.editDimensions.dim4.options[end-1].value;';
1402 l_string := l_string ||'document.editDimensions.dim4[end-1].text = name;';
1403 l_string := l_string ||'document.editDimensions.dim4.options[end-1].value = id;';
1404 l_string := l_string ||'document.editDimensions.dim4.options[end] = new Option(tempText,tempValue);';
1405 l_string := l_string ||'document.editDimensions.dim4.selectedIndex = end-1;';
1406 l_string := l_string ||'}';
1407
1408 l_string := l_string ||'function getdim5(name,id) {';
1409 l_string := l_string ||'var end = document.editDimensions.dim5.length;';
1410 l_string := l_string ||'var tempText = document.editDimensions.dim5[end-1].text;';
1411 l_string := l_string ||'var tempValue = document.editDimensions.dim5.options[end-1].value;';
1412 l_string := l_string ||'document.editDimensions.dim5[end-1].text = name;';
1413 l_string := l_string ||'document.editDimensions.dim5.options[end-1].value = id;';
1414 l_string := l_string ||'document.editDimensions.dim5.options[end] = new Option(tempText,tempValue);';
1415 l_string := l_string ||'document.editDimensions.dim5.selectedIndex = end-1;';
1416 l_string := l_string ||'}';
1417
1418 l_string := l_string ||'function getdim6(name,id) {';
1419 l_string := l_string ||'var end = document.editDimensions.dim6.length;';
1420 l_string := l_string ||'var tempText = document.editDimensions.dim6[end-1].text;';
1421 l_string := l_string ||'var tempValue = document.editDimensions.dim6.options[end-1].value;';
1422 l_string := l_string ||'document.editDimensions.dim6[end-1].text = name;';
1423 l_string := l_string ||'document.editDimensions.dim6.options[end-1].value = id;';
1424 l_string := l_string ||'document.editDimensions.dim6.options[end] = new Option(tempText,tempValue);';
1425 l_string := l_string ||'document.editDimensions.dim6.selectedIndex = end-1;';
1426 l_string := l_string ||'}';
1427
1428 l_string := l_string ||'function getdim7(name,id) {';
1429 l_string := l_string ||'var end = document.editDimensions.dim7.length;';
1430 l_string := l_string ||'var tempText = document.editDimensions.dim7[end-1].text;';
1431 l_string := l_string ||'var tempValue = document.editDimensions.dim7.options[end-1].value;';
1432 l_string := l_string ||'document.editDimensions.dim7[end-1].text = name;';
1433 l_string := l_string ||'document.editDimensions.dim7.options[end-1].value = id;';
1434 l_string := l_string ||'document.editDimensions.dim7.options[end] = new Option(tempText,tempValue);';
1435 l_string := l_string ||'document.editDimensions.dim7.selectedIndex = end-1;';
1436 l_string := l_string ||'}';
1437
1438
1439 -- **************************
1440 -- END MODAL DIALOG CODE
1441 -- **************************
1442 l_string := l_string ||'</SCRIPT>';
1443 --end if; --icx_sec.validateSession
1444 x_string := l_string ;
1445 end editlovjscript;
1446
1447 PROCEDURE setGlobalVar
1448 ( p_dim_lev_id in VARCHAR2
1449 , p_dim_lev_val_id in VARCHAR2
1450 , p_dim_lev_g_var in VARCHAR2
1451 , x_return_status out NOCOPY VARCHAR2
1452 )
1453 IS
1454 BEGIN
1455
1456 x_return_status := FND_API.G_RET_STS_SUCCESS;
1457
1458 BIS_TARGET_PVT.G_SET_OF_BOOK_ID := TO_NUMBER(p_dim_lev_val_id);
1459
1460 END setGlobalVar;
1461
1462 -- *******************************************************
1463 end bis_lov_pub;