[Home] [Help]
PACKAGE BODY: APPS.GL_WEB_PLSQL_CARTRIDGE
Source
1 PACKAGE BODY GL_WEB_PLSQL_CARTRIDGE as
2 /* $Header: glwplcrb.pls 120.5 2005/05/05 02:08:14 kvora ship $ */
3
4
5 --
6 -- PUBLIC PROCEDURES
7 --
8
9 PROCEDURE GCS_CHVHTML(X_Consolidation_Set_Id IN NUMBER,
10 X_Display_Option IN VARCHAR2 ,
11 X_Appl_Id IN NUMBER ,
12 X_User_Id IN NUMBER ,
13 X_Resp_Id IN NUMBER ,
14 X_Mode IN VARCHAR2 DEFAULT 'R') IS
15 pc_delimit VARCHAR2(2) := '^'; -- delimiter between parent and child nodes
16 ss_delimit VARCHAR2(2) := '|'; -- delimiter between ledger and set/mapping
17 se_delimit VARCHAR2(2) := '!'; -- closing of set/mapping
18 mapping_set_name VARCHAR2(33);
19 cons_child_set VARCHAR2(1500); -- Buffer for the select statement
20 child_set_cursor INTEGER; -- Handles the child set cursor
21 to_ledger_id NUMBER;
22 from_ledger_id NUMBER;
23 to_ledger_name VARCHAR2(800);
24 from_ledger_name VARCHAR2(800);
25 child_set_id NUMBER;
26 prior_child_set_id VARCHAR2(10000) := NULL;
27 all_parent_ledger_id VARCHAR2(10000) := NULL;
28 temp_arg_list VARCHAR2(1500) := NULL;
29 child_set_name VARCHAR2(33);
30 mapping_name VARCHAR2(33);
31 counter NUMBER := 0;
32 node_count NUMBER := 1;
33 argc NUMBER := 0;
34 row_count NUMBER := 0;
35 instr_value NUMBER := 0;
36 dummy NUMBER;
37 from_ledger_list VARCHAR2(500);
38 Pos NUMBER;
39 title VARCHAR2(240);
40 gcs_title VARCHAR2(240);
41 gcs_message VARCHAR2(240);
42
43 to_ledger_coa NUMBER;
44 from_ledger_coa NUMBER;
45 segment VARCHAR2(80);
46 delim VARCHAR2(1) := '';
47 child_seg VARCHAR2(500);
48 temp_child_seg VARCHAR2(500);
49 seg_cursor INTEGER; -- handles the segment cursor
50
51 CURSOR ledger_cons_set IS
52 SELECT distinct to_ledger.ledger_id,
53 to_ledger.name ||
54 '\nCurrency: ' || to_ledger.currency_code ||
55 '\nCalendar: ' || to_ledger.period_set_name ||
56 '\nChart of Accounts: ',
57 to_ledger.chart_of_accounts_id,
58 cs1.name,
59 from_ledger.ledger_id,
60 from_ledger.name ||
61 '\nCurrency: ' || from_ledger.currency_code ||
62 '\nCalendar: ' || from_ledger.period_set_name ||
63 '\nChart of Accounts: ',
64 from_ledger.chart_of_accounts_id,
65 cs2.consolidation_set_id, cs2.name
66 FROM
67 gl_ledgers to_ledger,
68 gl_ledgers from_ledger,
69 gl_cons_set_assignments csa,
70 gl_consolidation_sets cs1,
71 gl_consolidation_sets cs2,
72 gl_consolidation c
73 WHERE cs1.consolidation_set_id = csa.consolidation_set_id
74 AND csa.consolidation_id = c.consolidation_id
75 AND c.from_ledger_id = from_ledger.ledger_id
76 AND c.to_ledger_id = to_ledger.ledger_id
77 AND cs2.consolidation_set_id(+) = csa.child_consolidation_set_id
78 AND cs1.consolidation_set_id = X_Consolidation_Set_Id ;
79
80 CURSOR both_cons_set IS
81 SELECT to_ledger.ledger_id,
82 to_ledger.name ||
83 '\nCurrency: ' || to_ledger.currency_code ||
84 '\nCalendar: ' || to_ledger.period_set_name ||
85 '\nChart of Accounts: ',
86 to_ledger.chart_of_accounts_id,
87 cs1.name,
88 from_ledger.ledger_id,
89 from_ledger.name ||
90 '\nCurrency: ' || from_ledger.currency_code ||
91 '\nCalendar: ' || from_ledger.period_set_name ||
92 '\nChart of Accounts: ',
93 from_ledger.chart_of_accounts_id,
94 cs2.consolidation_set_id, cs2.name, c.name
95 FROM
96 gl_ledgers to_ledger,
97 gl_ledgers from_ledger,
98 gl_consolidation c,
99 gl_cons_set_assignments csa,
100 gl_consolidation_sets cs1,
101 gl_consolidation_sets cs2
102 WHERE cs1.consolidation_set_id = csa.consolidation_set_id
103 AND csa.consolidation_id = c.consolidation_id
104 AND c.from_ledger_id = from_ledger.ledger_id
105 AND c.to_ledger_id = to_ledger.ledger_id
106 AND cs2.consolidation_set_id(+) = csa.child_consolidation_set_id
107 AND cs1.consolidation_set_id = X_Consolidation_Set_Id ;
108
109 CURSOR seg (coa number) is
110 SELECT form_left_prompt
111 FROM fnd_id_flex_segments_tl
112 WHERE id_flex_num = coa
113 AND application_id = 101
114 AND id_flex_code = 'GL#'
115 AND language = userenv('LANG');
116
117 BEGIN
118
119 FND_GLOBAL.APPS_INITIALIZE(X_user_id, X_resp_id, X_appl_id);
120
121 --Check function security for access
122 IF (NOT FND_FUNCTION.TEST('GLXCOMST')) THEN
123 htp.p('<HTML>');
124 htp.p('<HEAD>');
125 htp.p('<TITLE>no access </TITLE>');
126 htp.p('</HEAD>');
127 htp.p('</HTML>');
128
129 ELSE
130
131 SELECT name
132 INTO mapping_set_name
133 FROM GL_CONSOLIDATION_SETS
134 WHERE consolidation_set_id = X_Consolidation_Set_Id;
135
136
137 IF (X_Mode = 'R') THEN
138
139 -- Select the titles and messages from gl_lookups
140 SELECT description
141 INTO title
142 FROM GL_LOOKUPS
143 WHERE lookup_type = 'CONSOLIDATION_VIEWER'
144 AND lookup_code = 'CHV_TITLE';
145
146 SELECT description
147 INTO gcs_title
148 FROM GL_LOOKUPS
149 WHERE lookup_type = 'CONSOLIDATION_VIEWER'
150 AND lookup_code = 'FEATURE_NAME';
151
152 SELECT description
153 INTO gcs_message
154 FROM GL_LOOKUPS
155 WHERE lookup_type = 'CONSOLIDATION_VIEWER'
156 AND lookup_code = 'FEATURE_MESSAGE';
157
158 -- Print html to the browser if the procedure is called in 'Run' mode.
159 htp.p('<HTML>');
160 htp.p('<HEAD>');
161 htp.p('<TITLE>Oracle Consolidation Hierarchy Viewer</TITLE>');
162 htp.p('</HEAD>');
163 htp.p('<BODY BACKGROUND="/OA_JAVA/oracle/apps/media/glBG.gif">');
164 htp.p('<table border=0 cellspacing=0 cellpadding=0>');
165 htp.p('<tr><td colspan=2>');
166 htp.p('<IMG SRC="/OA_JAVA/oracle/apps/media/glchv.gif" ');
167 htp.p('ALIGN=TOP HEIGHT="22" WIDTH="700" BORDER="0"><br>');
168 htp.p('<IMG SRC="/OA_JAVA/oracle/apps/media/glspace.gif" ');
169 htp.p('ALIGN=TOP WIDTH="1" HEIGHT="15" BORDER="0"><BR>');
170 htp.p('<IMG SRC="/OA_JAVA/oracle/apps/media/glspace.gif" ');
171 htp.p('ALIGN=TOP WIDTH="15" HEIGHT="1" BORDER="0">');
172 htp.p('<FONT face=Helvetica color=white size=+2>' || mapping_set_name || '</FONT><br>');
173 htp.p('<IMG SRC="/OA_JAVA/oracle/apps/media/glspace.gif" ');
174 htp.p('ALIGN=TOP WIDTH="1" HEIGHT="7" BORDER="0"><BR>');
175 htp.p('</td></tr>');
176 htp.p('<tr>');
177 htp.p(' <td width = 390 >');
178 htp.p(' <center><img src="/OA_JAVA/oracle/apps/media/GCS.jpg"></center>');
179 htp.p(' <img src="/OA_JAVA/oracle/apps/media/GL.gif">');
180 htp.p(' </td>');
181 htp.p(' <td>');
182 htp.p(' <IMG SRC="/OA_JAVA/oracle/apps/media/glspace.gif" ');
183 htp.p(' ALIGN=TOP WIDTH="1" HEIGHT="7" BORDER="0"><BR>');
184 htp.p('<applet codebase="/OA_JAVA/" code="oracle.apps.gl.gcs.glcoview.class" height=480 width=580');
185 -- htp.p('<applet codebase="/OA_JAVA/" code="oracle.apps.gl.gcs.glcoview.class" height=450 width=550');
186 -- htp.p('<applet codebase="/OA_JAVA/" code="oracle.apps.gl.gcs.glcoview.class"');
187 htp.p(' archive="oracle/apps/gl/jar/glgcs.jar">');
188 -- htp.p('>');
189 htp.p('<param name=title value="' || title || ' (' || mapping_set_name || ')">');
190 htp.p('<param name=display value="' || X_Display_Option || '">');
191 htp.p('<param name=pc_delimit value="' || pc_delimit || '">');
192 htp.p('<param name=ss_delimit value="' || ss_delimit || '">');
193 htp.p('<param name=se_delimit value="' || se_delimit || '">');
194 htp.p('<param name=background_color value="0xFFFFFF">');
195 END IF;
196
197 IF (X_Display_Option = 'LEDGER') THEN
198 OPEN ledger_cons_set;
199 ELSE
200 OPEN both_cons_set;
201 END IF;
202
203 LOOP
204 IF (X_Display_Option = 'LEDGER') THEN
205 FETCH ledger_cons_set INTO to_ledger_id, to_ledger_name, to_ledger_coa,
206 mapping_set_name,
207 from_ledger_id, from_ledger_name, from_ledger_coa,
208 child_set_id, child_set_name ;
209 mapping_name := '';
210 EXIT WHEN ledger_cons_set%NOTFOUND;
211 ELSE
212 FETCH both_cons_set INTO to_ledger_id, to_ledger_name, to_ledger_coa,
213 mapping_set_name,
214 from_ledger_id, from_ledger_name, from_ledger_coa,
215 child_set_id, child_set_name, mapping_name ;
216 EXIT WHEN both_cons_set%NOTFOUND;
217 END IF;
218
219 counter := counter + 1;
220 node_count := node_count + 1;
221 argc := argc + 1;
222
223 IF (child_set_name IS NULL) THEN
224 temp_arg_list := ss_delimit || mapping_name || se_delimit ;
225 ELSE
226 temp_arg_list := ss_delimit || child_set_name || se_delimit ;
227 END IF;
228
229 IF (X_Mode = 'R') THEN
230 -- get the delimiter
231 delim := fnd_flex_apis.get_segment_delimiter(
232 x_application_id => 101,
233 x_id_flex_code => 'GL#',
234 x_id_flex_num => to_ledger_coa);
235
236 -- build the parent chart of account structure
237 OPEN seg(to_ledger_coa);
238 FETCH seg INTO segment;
239 to_ledger_name := to_ledger_name || segment;
240 FETCH seg INTO segment;
241 WHILE (seg%FOUND) LOOP
242 to_ledger_name := to_ledger_name || delim || segment;
243 FETCH seg INTO segment;
244 END LOOP;
245
246 CLOSE seg;
247
248 -- get the delimiter
249 delim := fnd_flex_apis.get_segment_delimiter(
250 x_application_id => 101,
251 x_id_flex_code => 'GL#',
252 x_id_flex_num => from_ledger_coa);
253
254 -- build the subsidary chart of account structure
255 OPEN seg(from_ledger_coa);
256 FETCH seg INTO segment;
257 from_ledger_name := from_ledger_name || segment;
258 FETCH seg INTO segment;
259 WHILE (seg%FOUND) LOOP
260 from_ledger_name := from_ledger_name || delim || segment;
261 FETCH seg INTO segment;
262 END LOOP;
263
264 CLOSE seg;
265
266 -- build the argument list
267 htp.p('<param name=args' || to_char(argc) || ' value="' || to_ledger_name || ' ' ||
268 ss_delimit || mapping_set_name || se_delimit || pc_delimit ||
269 from_ledger_name || ' ' || temp_arg_list || '">');
270 END IF;
271
272 -- concatenate additional comma to the list
273 IF ((counter > 1) AND (prior_child_set_id IS NOT NULL) AND
274 (child_set_id IS NOT NULL)) THEN
275 prior_child_set_id := prior_child_set_id || ', ';
276 END IF;
277
278 -- concatenate the child set id to the list
279 IF (to_char(child_set_id) IS NOT NULL) THEN
280 prior_child_set_id := prior_child_set_id || to_char(child_set_id);
281 END IF;
282
283 IF (counter = 1) THEN
284 all_parent_ledger_id := ',' || to_char(from_ledger_id) || ',';
285 ELSE
286 all_parent_ledger_id := all_parent_ledger_id || to_char(from_ledger_id) || ',';
287 END IF;
288
289 END LOOP;
290
291 all_parent_ledger_id := all_parent_ledger_id || to_char(to_ledger_id) || ',';
292
293 IF (X_Display_Option = 'LEDGER') THEN
294 CLOSE ledger_cons_set;
295 ELSE
296 CLOSE both_cons_set;
297 END IF;
298
299 IF (counter = 0) THEN
300 fnd_message.set_name('SQLGL', 'GL_CONS_NO_CHILD');
301 app_exception.raise_exception;
302 END IF;
303
304
305 IF (prior_child_set_id IS NOT NULL) THEN
306
307
308 LOOP
309 -- Build the select statement for child sets.
310 IF (X_Display_Option = 'LEDGER') THEN
311 cons_child_set := 'SELECT distinct to_ledger.ledger_id,to_ledger.name || ' ||
312 '''\nCurrency: ''' || ' || to_ledger.currency_code || ' ||
313 '''\nCalendar: ''' || '|| to_ledger.period_set_name || ' ||
314 '''\nChart of Accounts: ''' || ', ' ||
315 'to_ledger.chart_of_accounts_id, ' ||
316 'cs1.name, ' ||
317 'from_ledger.ledger_id, from_ledger.name || ' ||
318 '''\nCurrency: ''' || ' || from_ledger.currency_code || ' ||
319 '''\nCalendar: ''' || '|| from_ledger.period_set_name || ' ||
320 '''\nChart of Accounts: ''' || ', ' ||
321 'from_ledger.chart_of_accounts_id, ' ||
322 'cs2.consolidation_set_id, cs2.name ' ||
323 'FROM gl_ledgers to_ledger, ' ||
324 'gl_ledgers from_ledger, ' ||
325 'gl_consolidation c, ' ||
326 'gl_cons_set_assignments csa, ' ||
327 'gl_consolidation_sets cs1, ' ||
328 'gl_consolidation_sets cs2 ' ||
329 'WHERE cs1.consolidation_set_id = ' ||
330 'csa.consolidation_set_id ' ||
331 'AND csa.consolidation_id = ' ||
332 'c.consolidation_id ' ||
333 'AND c.from_ledger_id = ' ||
334 'from_ledger.ledger_id ' ||
335 'AND c.to_ledger_id = ' ||
336 'to_ledger.ledger_id ' ||
337 'AND cs2.consolidation_set_id(+) = csa.child_consolidation_set_id ' ||
338 'AND cs1.consolidation_set_id IN ( ' || prior_child_set_id || ')' ;
339 ELSE
340 cons_child_set := 'SELECT distinct to_ledger.ledger_id,to_ledger.name || ' ||
341 '''\nCurrency: ''' || ' || to_ledger.currency_code || ' ||
342 '''\nCalendar: ''' || '|| to_ledger.period_set_name || ' ||
343 '''\nChart of Accounts: ''' || ', ' ||
344 'to_ledger.chart_of_accounts_id, ' ||
345 'cs1.name, ' ||
346 'from_ledger.ledger_id, from_ledger.name || ' ||
347 '''\nCurrency: ''' || ' || from_ledger.currency_code || ' ||
348 '''\nCalendar: ''' || '|| from_ledger.period_set_name || ' ||
349 '''\nChart of Accounts: ''' || ', ' ||
350 'from_ledger.chart_of_accounts_id, ' ||
351 'cs2.consolidation_set_id, cs2.name, c.name ' ||
352 'FROM gl_ledgers to_ledger, ' ||
353 'gl_ledgers from_ledger, ' ||
354 'gl_consolidation c, ' ||
355 'gl_cons_set_assignments csa, ' ||
356 'gl_consolidation_sets cs1, ' ||
357 'gl_consolidation_sets cs2 ' ||
358 'WHERE cs1.consolidation_set_id = ' ||
359 'csa.consolidation_set_id ' ||
360 'AND csa.consolidation_id = ' ||
361 'c.consolidation_id ' ||
362 'AND c.from_ledger_id = ' ||
363 'from_ledger.ledger_id ' ||
364 'AND c.to_ledger_id = ' ||
365 'to_ledger.ledger_id ' ||
366 'AND cs2.consolidation_set_id(+) = csa.child_consolidation_set_id ' ||
367 'AND cs1.consolidation_set_id IN ( ' || prior_child_set_id || ')' ;
368 END IF;
369
370 -- declare the cursor and work with it
371 child_set_cursor := dbms_sql.open_cursor;
372 dbms_sql.parse(child_set_cursor, cons_child_set, dbms_sql.v7);
373 dbms_sql.define_column(child_set_cursor, 1, to_ledger_id);
374 dbms_sql.define_column(child_set_cursor, 2, to_ledger_name, 200);
375 dbms_sql.define_column(child_set_cursor, 3, to_ledger_coa);
376 dbms_sql.define_column(child_set_cursor, 4, mapping_set_name, 33);
377 dbms_sql.define_column(child_set_cursor, 5, from_ledger_id);
378 dbms_sql.define_column(child_set_cursor, 6, from_ledger_name, 200);
379 dbms_sql.define_column(child_set_cursor, 7, from_ledger_coa);
380 dbms_sql.define_column(child_set_cursor, 8, child_set_id);
381 dbms_sql.define_column(child_set_cursor, 9, child_set_name, 33);
382 IF (X_Display_Option = 'BOTH' or X_Display_Option = 'SET') THEN
383 dbms_sql.define_column(child_set_cursor, 10, mapping_name, 33);
384 END IF;
385
386 dummy := dbms_sql.execute(child_set_cursor);
387
388 -- build the select statement for the chart of account cursor
389 temp_child_seg := 'SELECT form_left_prompt ' ||
390 'FROM fnd_id_flex_segments_tl ' ||
391 'WHERE application_id = 101 '||
392 'AND id_flex_code = ''GL#'' ' ||
393 'AND language = userenv(''LANG'') ';
394
395 prior_child_set_id := NULL;
396 counter := 0;
397
398 LOOP
399 row_count := dbms_sql.fetch_rows(child_set_cursor);
400 IF (row_count = 0) THEN
401 EXIT;
402 END IF;
403
404 dbms_sql.column_value(child_set_cursor, 1, to_ledger_id);
405 dbms_sql.column_value(child_set_cursor, 2, to_ledger_name);
406 dbms_sql.column_value(child_set_cursor, 3, to_ledger_coa);
407 dbms_sql.column_value(child_set_cursor, 4, mapping_set_name);
408 dbms_sql.column_value(child_set_cursor, 5, from_ledger_id);
409 dbms_sql.column_value(child_set_cursor, 6, from_ledger_name);
410 dbms_sql.column_value(child_set_cursor, 7, from_ledger_coa);
411 dbms_sql.column_value(child_set_cursor, 8, child_set_id);
412 dbms_sql.column_value(child_set_cursor, 9, child_set_name);
413 IF (X_Display_Option = 'BOTH' or X_Display_Option = 'SET') THEN
414 dbms_sql.column_value(child_set_cursor, 10, mapping_name);
415 ELSE
416 mapping_name := '';
417 END IF;
418
419 node_count := node_count + 1;
420 argc := argc + 1;
421 counter := counter + 1;
422
423 IF (child_set_name IS NULL) THEN
424 temp_arg_list := ss_delimit || mapping_name || se_delimit ;
425 ELSE
426 temp_arg_list := ss_delimit || child_set_name || se_delimit ;
427 END IF;
428
429 IF (X_Mode = 'R') THEN
430 -- get the delimiter
431 delim := fnd_flex_apis.get_segment_delimiter(
432 x_application_id => 101,
433 x_id_flex_code => 'GL#',
434 x_id_flex_num => to_ledger_coa);
435
436 -- get parent chart of accounts information
437 child_seg := temp_child_seg ||
438 'AND id_flex_num = ' || to_ledger_coa ;
439
440 seg_cursor := dbms_sql.open_cursor;
441 dbms_sql.parse(seg_cursor, child_seg, dbms_sql.v7);
442 dbms_sql.define_column(seg_cursor, 1, segment,80);
443 dummy := dbms_sql.execute(seg_cursor);
444
445 row_count := dbms_sql.fetch_rows(seg_cursor);
446 IF (row_count = 0) THEN
447 EXIT;
448 END IF;
449
450 dbms_sql.column_value(seg_cursor, 1, segment);
451 to_ledger_name := to_ledger_name || segment;
452
453 row_count := dbms_sql.fetch_rows(seg_cursor);
454 WHILE (row_count <> 0) LOOP
455 dbms_sql.column_value(seg_cursor, 1, segment);
456 to_ledger_name := to_ledger_name || delim || segment;
457 row_count := dbms_sql.fetch_rows(seg_cursor);
458 END LOOP;
459
460 dbms_sql.close_cursor(seg_cursor);
461
462 -- get the delimiter
463 delim := fnd_flex_apis.get_segment_delimiter(
464 x_application_id => 101,
465 x_id_flex_code => 'GL#',
466 x_id_flex_num => from_ledger_coa);
467
468 -- get subsidary chart of accounts information
469 child_seg := temp_child_seg ||
470 'AND id_flex_num = ' || from_ledger_coa ;
471
472 seg_cursor := dbms_sql.open_cursor;
473 dbms_sql.parse(seg_cursor, child_seg, dbms_sql.v7);
474 dbms_sql.define_column(seg_cursor, 1, segment,80);
475 dummy := dbms_sql.execute(seg_cursor);
476
477 row_count := dbms_sql.fetch_rows(seg_cursor);
478 IF (row_count = 0) THEN
479 EXIT;
480 END IF;
481
482 dbms_sql.column_value(seg_cursor, 1, segment);
483 from_ledger_name := from_ledger_name || segment;
484
485 row_count := dbms_sql.fetch_rows(seg_cursor);
486 WHILE (row_count <> 0) LOOP
487 dbms_sql.column_value(seg_cursor, 1, segment);
488 from_ledger_name := from_ledger_name || delim || segment;
489 row_count := dbms_sql.fetch_rows(seg_cursor);
490 END LOOP;
491
492 dbms_sql.close_cursor(seg_cursor);
493
494 -- build the argument list
495 htp.p('<param name=args' || to_char(argc) || ' value="' || to_ledger_name || ' ' ||
496 ss_delimit || mapping_set_name || se_delimit || pc_delimit ||
497 from_ledger_name || ' ' || temp_arg_list || '">');
498 END IF;
499
500 from_ledger_list := ',' || from_ledger_id || ',' ;
501
502 instr_value := INSTR(all_parent_ledger_id, from_ledger_list);
503 IF (instr_value <> 0) THEN
504 fnd_message.set_name('SQLGL', 'GL_CONS_LOOP_FOUND');
505 app_exception.raise_exception;
506 END IF;
507
508 -- concatenate additional comma to the list
509 IF ((counter > 1) AND (prior_child_set_id IS NOT NULL) AND
510 (child_set_id IS NOT NULL)) THEN
511 prior_child_set_id := prior_child_set_id || ', ';
512 END IF;
513
514 -- concatenate the child set id to the list
515 IF (to_char(child_set_id) IS NOT NULL) THEN
516 prior_child_set_id := prior_child_set_id || to_char(child_set_id);
517 END IF;
518
519 all_parent_ledger_id := all_parent_ledger_id || to_char(to_ledger_id) || ',';
520
521 END LOOP;
522
523 IF (prior_child_set_id IS NULL) THEN
524 EXIT;
525 END IF;
526
527 -- Close the cursor
528 dbms_sql.close_cursor(child_set_cursor);
529
530 END LOOP;
531
532 END IF;
533
534 IF (X_Mode = 'R') THEN
535 htp.p('<param name=nodes value="' || to_char(node_count) || '">');
536 htp.p('<param name=argc value="' || to_char(argc) || '">');
537 htp.p('</applet>');
538 htp.p(' </td>');
539 htp.p('</tr>');
540 htp.p('</TABLE>');
541 htp.p('</BODY>');
542 htp.p('</HTML>');
543 END IF;
544 END IF;
545 EXCEPTION
546 WHEN app_exceptions.application_exception THEN
547 RAISE;
548 WHEN OTHERS THEN
549 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
550 fnd_message.set_token('PROCEDURE',
551 'GL_WEB_PLSQL_CARTRIDGE.gcs_chvhtml');
552 RAISE;
553
554 END GCS_CHVHTML ;
555
556
557 END GL_WEB_PLSQL_CARTRIDGE ;