[Home] [Help]
PACKAGE BODY: APPS.RG_REPORT_SUBMISSION_PKG
Source
1 PACKAGE BODY rg_report_submission_pkg as
2 /* $Header: rgursubb.pls 120.20.12010000.2 2008/11/10 10:43:42 kmotepal ship $ */
3
4 --
5 -- Name
6 -- submit_report_set()
7 -- Purpose
8 -- Submit the whole report set
9 -- ARGUMENTS
10 -- 1. concurrent request id
11 -- 2. application short name
12 -- 3. data access set id
13 -- 4. report set period
14 -- 5. accounting date
15 -- 6. default ledger short name
16 -- 7. unit of measure id
17 -- 8. report set id
18 -- 9. page length
19 -- 10. report set request id
20 -- CALLS
21 -- submit_report: submit a report in the report set
22 -- CALLED BY
23 -- form RGXGRRST
24 --
25
26 FUNCTION submit_report_set(
27 conc_req_ids IN OUT NOCOPY VARCHAR2,
28 appl_short_name IN VARCHAR2,
29 data_access_set_id IN NUMBER,
30 set_period_name IN VARCHAR2,
31 accounting_date IN DATE,
32 default_ledger_short_name IN VARCHAR2,
33 unit_of_m_id IN VARCHAR2,
34 report_set_id IN NUMBER,
35 page_len IN NUMBER,
36 report_set_request_id IN NUMBER)
37 RETURN BOOLEAN
38 IS
39 first_conc_req BOOLEAN := TRUE;
40 temp_conc_req_id NUMBER := 0;
41 CURSOR c (set_id NUMBER) IS
42 SELECT REPORT_ID,REPORT_REQUEST_ID
43 FROM RG_REPORT_REQUESTS
44 WHERE REPORT_SET_ID = set_id
45 ORDER BY sequence ASC;
46 BEGIN
47
48 FOR report IN c(report_set_id) LOOP
49 IF (NOT submit_report(temp_conc_req_id,
50 set_period_name,
51 accounting_date,
52 default_ledger_short_name,
53 unit_of_m_id,
54 data_access_set_id,
55 appl_short_name,
56 report.report_id,
57 page_len,
58 report.report_request_id,
59 report_set_request_id)) THEN
60 RETURN FALSE;
61 ELSE
62 IF (first_conc_req = TRUE) THEN
63 conc_req_ids := TO_CHAR(temp_conc_req_id);
64 first_conc_req := FALSE;
65 ELSE
66 IF (LENGTH(conc_req_ids) + LENGTH(TO_CHAR(temp_conc_req_id))
67 <= 1998) THEN
68 conc_req_ids := conc_req_ids || ', ' ||
69 TO_CHAR(temp_conc_req_id);
70 END IF;
71 END IF;
72 END IF;
73 END LOOP;
74
75 return(TRUE);
76
77 EXCEPTION
78 WHEN NO_DATA_FOUND THEN
79 FND_MESSAGE.set_name('RG','RGXGRRST_REPORTSET_NO_REPORT');
80 app_exception.raise_exception;
81
82 RETURN(TRUE);
83
84 END submit_report_set;
85
86 -- Name
87 -- submit_report
88 -- Purpose
89 -- Submit a report in the report set
90 -- Arguments
91 -- 1. concurrent request id
92 -- 2. report set period name
93 -- 3. accounting date
94 -- 4. default ledger short name
95 -- 5. unit of measure id
96 -- 6. data access set id
97 -- 7. appl_short_name
98 -- 8. report id
99 -- 9. page length
100 -- 10. report request id
101 -- 11. report set request id
102 -- Calls
103 -- FND_REQUEST.SUBMIT_REQUEST
104 -- Call By
105 -- submit_report_set
106 --
107
108 FUNCTION submit_report(conc_req_id IN OUT NOCOPY NUMBER,
109 set_period_name IN VARCHAR2,
110 accounting_date IN DATE,
111 default_ledger_short_name IN VARCHAR2,
112 unit_of_m_id IN VARCHAR2,
113 data_access_set_id IN NUMBER,
114 appl_short_name IN VARCHAR2,
115 rep_id IN NUMBER,
116 page_len IN NUMBER,
117 rep_request_id IN NUMBER,
118 report_set_request_id IN NUMBER)
119 RETURN BOOLEAN
120 IS
121 TYPE RepTyp IS RECORD
122 (row_set_id NUMBER(15),
123 column_set_id NUMBER(15),
124 unit_of_measure_id VARCHAR2(30),
125 content_set_id NUMBER(15),
126 row_order_id NUMBER(15),
127 rounding_option VARCHAR2(1),
128 parameter_set_id NUMBER(15),
129 minimum_display_level NUMBER(15),
130 report_display_set_id NUMBER(15),
131 output_option VARCHAR2(1),
132 report_title VARCHAR2(240),
133 segment_override VARCHAR2(800),
134 override_alc_ledger_currency VARCHAR2(30));
135
136 report_rec RepTyp;
137 rep_run_type rg_report_content_sets.report_run_type%TYPE;
138 cur_currency rg_reports.unit_of_measure_id%TYPE;
139
140 report_sequence NUMBER;
141
142 -- ALC processing
143 seg_override VARCHAR2(800);
144 ledger_id NUMBER;
145 alc_ledger_currency VARCHAR2(30);
146 translated_flag VARCHAR2(1);
147
148 -- Additional parameters
149 coa_id NUMBER := 101;
150 adhoc_prefix VARCHAR2(20);
151 industry VARCHAR2(1);
152 flex_code VARCHAR2(5);
153 subrequest_id NUMBER := -998;
154 appl_deflt_name VARCHAR2(6);
155
156 nlslang VARCHAR2(30);
157 nlsterr VARCHAR2(30);
158 nlsnumeric VARCHAR2(2);
159
160 BEGIN
161
162 /*Code fix for 6846465 starts here */
163 nlslang := fnd_profile.value('ICX_LANGUAGE');
164 nlsterr := fnd_profile.value('ICX_TERRITORY');
165 nlsnumeric := fnd_profile.value('ICX_NUMERIC_CHARACTERS');
166 IF (NOT FND_REQUEST.SET_OPTIONS('NO', 'NO', nlslang, nlsterr, NULL, nlsnumeric))
167 THEN
168 null;
169 END IF;
170
171 /*Code fix for 6846465 ends here */
172
173 SELECT row_set_id,
174 column_set_id,
175 unit_of_measure_id,
176 content_set_id,
177 row_order_id,
178 rounding_option,
179 parameter_set_id,
180 minimum_display_level,
181 report_display_set_id,
182 output_option,
183 name,
184 segment_override,
185 override_alc_ledger_currency
186 INTO report_rec
187 FROM RG_REPORTS
188 WHERE REPORT_ID = rep_id;
189
190 adhoc_prefix := 'FSG-ADHOC-';
191 industry := 'C';
192 flex_code := 'GLLE';
193 appl_deflt_name := 'SQLGL';
194
195 -- Override the currency of the request by the currency of
196 -- the report if it was assigned in define report form.
197 --
198 IF (report_rec.unit_of_measure_id IS NOT NULL) THEN
199 cur_currency := report_rec.unit_of_measure_id;
200 ELSE
201 cur_currency := unit_of_m_id;
202 END IF;
203
204 seg_override := rg_reports_pkg.find_report_segment_override(rep_id);
205
206 --
207 -- If content set is used by this report then
208 -- check the report run method.
209 -- Notes: this PL/SQL is used to submit the requests
210 -- which have not been query up by the form, therefore
211 -- we don't need to worry about the runtime override of
212 -- these requests. i.e. no runtime override in these requests
213 --
214 IF (report_rec.content_set_id <> -1) THEN
215 SELECT report_run_type
216 INTO rep_run_type
217 FROM rg_report_content_sets
218 WHERE content_set_id = report_rec.content_set_id;
219
220 IF (rep_run_type = 'P') THEN
221 conc_req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
222 'RGSSRQ',
223 report_rec.report_title,
224 '',
225 FALSE,
226 TO_CHAR(data_access_set_id),
227 TO_CHAR(coa_id),
228 adhoc_prefix,
229 industry,
230 flex_code,
231 default_ledger_short_name,
232 TO_CHAR(rep_id),
233 TO_CHAR(report_rec.row_set_id),
234 TO_CHAR(report_rec.column_set_id),
235 set_period_name,
236 cur_currency,
237 report_rec.rounding_option,
238 seg_override,
239 TO_CHAR(report_rec.content_set_id),
240 TO_CHAR(report_rec.row_order_id),
241 TO_CHAR(report_rec.report_display_set_id),
242 report_rec.output_option,
243 'N',
244 TO_CHAR(report_rec.minimum_display_level),
245 TO_CHAR(accounting_date, 'YYYY/MM/DD'),
246 TO_CHAR(report_rec.parameter_set_id),
247 TO_CHAR(page_len),
248 appl_short_name,
249 chr(0),
250 '', '', '', '', '', '',
251 '', '', '', '', '', '', '', '', '', '',
252 '', '', '', '', '', '', '', '', '', '',
253 '', '', '', '', '', '', '', '', '', '',
254 '', '', '', '', '', '', '', '', '', '',
255 '', '', '', '', '', '', '', '', '', '',
256 '', '', '', '', '', '', '', '', '', '',
257 '', '', '', '', '', '', '', '', '', ''
258 );
259 IF (report_rec.output_option = 'Y') THEN
260 UPDATE FND_CONCURRENT_REQUESTS
261 SET
262 OUTPUT_FILE_TYPE = 'XML'
263 WHERE
264 REQUEST_ID = conc_req_id;
265 END IF;
266 ELSE
267 conc_req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
268 'RGRARG',
269 report_rec.report_title,
270 '',
271 FALSE,
272 TO_CHAR(data_access_set_id),
273 TO_CHAR(coa_id),
274 adhoc_prefix,
275 industry,
276 flex_code,
277 default_ledger_short_name,
278 TO_CHAR(rep_id),
279 TO_CHAR(report_rec.row_set_id),
280 TO_CHAR(report_rec.column_set_id),
281 set_period_name,
282 cur_currency,
283 report_rec.rounding_option,
284 seg_override,
285 TO_CHAR(report_rec.content_set_id),
286 TO_CHAR(report_rec.row_order_id),
287 TO_CHAR(report_rec.report_display_set_id),
288 report_rec.output_option,
289 'N',
290 TO_CHAR(report_rec.minimum_display_level),
291 TO_CHAR(accounting_date, 'YYYY/MM/DD'),
292 TO_CHAR(report_rec.parameter_set_id),
293 TO_CHAR(page_len),
294 TO_CHAR(subrequest_id),
295 appl_short_name,
296 chr(0),
297 '', '', '', '', '',
298 '', '', '', '', '', '', '', '', '', '',
299 '', '', '', '', '', '', '', '', '', '',
300 '', '', '', '', '', '', '', '', '', '',
301 '', '', '', '', '', '', '', '', '', '',
302 '', '', '', '', '', '', '', '', '', '',
303 '', '', '', '', '', '', '', '', '', '',
304 '', '', '', '', '', '', '', '', ''
305 );
306 IF (report_rec.output_option = 'Y') THEN
307 UPDATE FND_CONCURRENT_REQUESTS
308 SET
309 OUTPUT_FILE_TYPE = 'XML'
310 WHERE
311 REQUEST_ID = conc_req_id;
312 END IF;
313 END IF;
314 ELSE
315 conc_req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
316 'RGRARG',
317 report_rec.report_title,
318 '',
319 FALSE,
320 TO_CHAR(data_access_set_id),
321 TO_CHAR(coa_id),
322 adhoc_prefix,
323 industry,
324 flex_code,
325 default_ledger_short_name,
326 TO_CHAR(rep_id),
327 TO_CHAR(report_rec.row_set_id),
328 TO_CHAR(report_rec.column_set_id),
329 set_period_name,
330 cur_currency,
331 report_rec.rounding_option,
332 seg_override,
333 TO_CHAR(report_rec.content_set_id),
334 TO_CHAR(report_rec.row_order_id),
335 TO_CHAR(report_rec.report_display_set_id),
336 report_rec.output_option,
337 'N',
338 TO_CHAR(report_rec.minimum_display_level),
339 TO_CHAR(accounting_date, 'YYYY/MM/DD'),
340 TO_CHAR(report_rec.parameter_set_id),
341 TO_CHAR(page_len),
342 TO_CHAR(subrequest_id),
343 appl_short_name,
344 chr(0),
345 '', '', '', '', '',
346 '', '', '', '', '', '', '', '', '', '',
347 '', '', '', '', '', '', '', '', '', '',
348 '', '', '', '', '', '', '', '', '', '',
349 '', '', '', '', '', '', '', '', '', '',
350 '', '', '', '', '', '', '', '', '', '',
351 '', '', '', '', '', '', '', '', '', '',
352 '', '', '', '', '', '', '', '', ''
353 );
354 IF (report_rec.output_option = 'Y') THEN
355 UPDATE FND_CONCURRENT_REQUESTS
356 SET
357 OUTPUT_FILE_TYPE = 'XML'
358 WHERE
359 REQUEST_ID = conc_req_id;
360 END IF;
361 END IF;
362
363 --
364 -- return false if failed
365 --
366 IF (conc_req_id=0) THEN
367 RETURN FALSE;
368 END IF;
369
370 --
371 -- Else update the request in the database
372 --
373 GL_LEDGER_UTILS_PKG.Find_Ledger(default_ledger_short_name,
374 ledger_id,
375 alc_ledger_currency,
376 translated_flag);
377 IF (translated_flag = 'N') THEN
378 alc_ledger_currency := NULL;
379 END IF;
380
381 UPDATE RG_REPORT_REQUESTS
382 SET
383 CONCURRENT_REQUEST_ID = conc_req_id,
384 PERIOD_NAME = set_period_name,
385 ACCOUNTING_DATE = accounting_date,
386 LEDGER_ID = ledger_id,
387 ALC_LEDGER_CURRENCY = alc_ledger_currency,
388 UNIT_OF_MEASURE_ID = unit_of_m_id,
389 ROUNDING_OPTION = report_rec.rounding_option,
390 SEGMENT_OVERRIDE = report_rec.segment_override,
391 OVERRIDE_ALC_LEDGER_CURRENCY
392 = report_rec.override_alc_ledger_currency,
393 CONTENT_SET_ID = report_rec.content_set_id,
394 ROW_ORDER_ID = report_rec.row_order_id,
395 EXCEPTIONS_FLAG = 'N',
396 REPORT_DISPLAY_SET_ID = report_rec.report_display_set_id,
397 OUTPUT_OPTION = report_rec.output_option
398 WHERE REPORT_REQUEST_ID = rep_request_id;
399
400 --
401 -- Report set request enhancement
402 --
403 IF (report_set_request_id IS NOT NULL) THEN
404 SELECT SEQUENCE
405 INTO report_sequence
406 FROM RG_REPORT_REQUESTS
407 WHERE REPORT_REQUEST_ID = rep_request_id;
408
409 RG_REPORT_SET_REQUESTS_PKG.insert_report_set_req_detail(
410 report_set_request_id,
411 report_sequence,
412 rep_id,
413 conc_req_id);
414 END IF;
415
416 return TRUE;
417 END submit_report;
418
419 FUNCTION submit_request
420 (X_APPL_SHORT_NAME IN VARCHAR2,
421 X_DATA_ACCESS_SET_ID IN NUMBER,
422 X_CONCURRENT_REQUEST_ID OUT NOCOPY NUMBER,
423 X_PROGRAM OUT NOCOPY VARCHAR2,
424 X_COA_ID IN NUMBER,
425 X_ADHOC_PREFIX IN VARCHAR2,
426 X_INDUSTRY IN VARCHAR2,
427 X_FLEX_CODE IN VARCHAR2,
428 X_DEFAULT_LEDGER_SHORT_NAME IN VARCHAR2,
429 X_REPORT_ID IN NUMBER,
430 X_ROW_SET_ID IN NUMBER,
431 X_COLUMN_SET_ID IN NUMBER,
432 X_PERIOD_NAME IN VARCHAR2,
433 X_UNIT_OF_MEASURE_ID IN VARCHAR2,
434 X_ROUNDING_OPTION IN VARCHAR2,
435 X_SEGMENT_OVERRIDE IN VARCHAR2,
436 X_CONTENT_SET_ID IN NUMBER,
437 X_ROW_ORDER_ID IN NUMBER,
438 X_REPORT_DISPLAY_SET_ID IN NUMBER,
439 X_OUTPUT_OPTION IN VARCHAR2,
440 X_EXCEPTIONS_FLAG IN VARCHAR2,
441 X_MINIMUM_DISPLAY_LEVEL IN NUMBER,
442 X_ACCOUNTING_DATE IN DATE,
443 X_PARAMETER_SET_ID IN NUMBER,
444 X_PAGE_LENGTH IN NUMBER,
445 X_SUBREQUEST_ID IN NUMBER,
446 X_APPL_DEFLT_NAME IN VARCHAR2)
447 RETURN BOOLEAN
448 IS
449 TYPE RepTyp IS RECORD
450 (row_set_id NUMBER(15),
451 column_set_id NUMBER(15),
452 unit_of_measure_id VARCHAR2(30),
453 content_set_id NUMBER(15),
454 row_order_id NUMBER(15),
455 rounding_option VARCHAR2(1),
456 parameter_set_id NUMBER(15),
457 minimum_display_level NUMBER(15),
458 report_display_set_id NUMBER(15),
459 output_option VARCHAR2(1),
460 report_title VARCHAR2(240),
461 segment_override VARCHAR2(800));
462
463 report_rec RepTyp;
464
465 req_id NUMBER;
466 rep_run_type rg_report_content_sets.report_run_type%TYPE;
467
468 nlslang VARCHAR2(30);
469 nlsterr VARCHAR2(30);
470 nlsnumeric VARCHAR2(2);
471 BEGIN
472
473 /*Code fix for 6846465 starts here */
474 nlslang := fnd_profile.value('ICX_LANGUAGE');
475 nlsterr := fnd_profile.value('ICX_TERRITORY');
476 nlsnumeric := fnd_profile.value('ICX_NUMERIC_CHARACTERS');
477 IF (NOT FND_REQUEST.SET_OPTIONS('NO', 'NO', nlslang, nlsterr, NULL, nlsnumeric))
478 THEN
479 null;
480 END IF;
481
482 /*Code fix for 6846465 ends here */
483
484 SELECT row_set_id,
485 column_set_id,
486 unit_of_measure_id,
487 content_set_id,
488 row_order_id,
489 rounding_option,
490 parameter_set_id,
491 minimum_display_level,
492 report_display_set_id,
493 output_option,
494 name,
495 segment_override
496 INTO report_rec
497 FROM RG_REPORTS
498 WHERE REPORT_ID = X_REPORT_ID;
499
500 --
501 -- If content set is used by this report then
502 -- check the report run method.
503 --
504 IF (X_content_set_id IS NOT NULL) THEN
505 SELECT report_run_type
506 INTO rep_run_type
507 FROM rg_report_content_sets
508 WHERE content_set_id = X_content_set_id;
509 ELSE
510 rep_run_type := 'S';
511 END IF;
512
513 IF (rep_run_type = 'P') THEN
514 X_PROGRAM := 'RGSSRQ';
515 req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
516 'RGSSRQ',
517 report_rec.report_title,
518 '',
519 FALSE,
520 TO_CHAR(X_data_access_set_id),
521 TO_CHAR(X_COA_ID),
522 X_ADHOC_PREFIX,
523 X_INDUSTRY,
524 X_FLEX_CODE,
525 X_default_ledger_short_name,
526 TO_CHAR(X_report_id),
527 TO_CHAR(X_row_set_id),
528 TO_CHAR(X_column_set_id),
529 X_period_name,
530 X_unit_of_measure_id,
531 X_rounding_option,
532 X_segment_override,
533 TO_CHAR(X_content_set_id),
534 TO_CHAR(X_row_order_id),
535 TO_CHAR(X_report_display_set_id),
536 X_output_option,
537 X_exceptions_flag,
538 TO_CHAR(X_minimum_display_level),
539 TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
540 TO_CHAR(X_parameter_set_id),
541 TO_CHAR(X_page_length),
542 X_appl_deflt_name,
543 chr(0),
544 '', '', '', '', '', '',
545 '', '', '', '', '', '', '', '', '', '',
546 '', '', '', '', '', '', '', '', '', '',
547 '', '', '', '', '', '', '', '', '', '',
548 '', '', '', '', '', '', '', '', '', '',
549 '', '', '', '', '', '', '', '', '', '',
550 '', '', '', '', '', '', '', '', '', '',
551 '', '', '', '', '', '', '', '', '', ''
552 );
553 IF (X_output_option = 'Y') THEN
554 UPDATE FND_CONCURRENT_REQUESTS
555 SET
556 OUTPUT_FILE_TYPE = 'XML'
557 WHERE
558 REQUEST_ID = req_id;
559 END IF;
560 ELSE
561 X_PROGRAM := 'RGRARG';
562 req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
563 'RGRARG',
564 report_rec.report_title,
565 '',
566 FALSE,
567 TO_CHAR(X_data_access_set_id),
568 TO_CHAR(X_COA_ID),
569 X_ADHOC_PREFIX,
570 X_INDUSTRY,
571 X_FLEX_CODE,
572 X_default_ledger_short_name,
573 TO_CHAR(X_report_id),
574 TO_CHAR(X_row_set_id),
575 TO_CHAR(X_column_set_id),
576 X_period_name,
577 X_unit_of_measure_id,
578 X_rounding_option,
579 X_segment_override,
580 TO_CHAR(X_content_set_id),
581 TO_CHAR(X_row_order_id),
582 TO_CHAR(X_report_display_set_id),
583 X_output_option,
584 X_exceptions_flag,
585 TO_CHAR(X_minimum_display_level),
586 TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
587 TO_CHAR(X_parameter_set_id),
588 TO_CHAR(X_page_length),
589 TO_CHAR(X_SUBREQUEST_ID),
590 X_appl_deflt_name,
591 chr(0),
592 '', '', '', '', '',
593 '', '', '', '', '', '', '', '', '', '',
594 '', '', '', '', '', '', '', '', '', '',
595 '', '', '', '', '', '', '', '', '', '',
596 '', '', '', '', '', '', '', '', '', '',
597 '', '', '', '', '', '', '', '', '', '',
598 '', '', '', '', '', '', '', '', '', '',
599 '', '', '', '', '', '', '', '', ''
600 );
601 IF (X_output_option = 'Y') THEN
602 UPDATE FND_CONCURRENT_REQUESTS
603 SET
604 OUTPUT_FILE_TYPE = 'XML'
605 WHERE
606 REQUEST_ID = req_id;
607 END IF;
608 END IF;
609
610 IF (req_id = 0) THEN
611 RETURN FALSE;
612 ELSE
613 X_concurrent_request_id:= req_id;
614 return TRUE;
615 END IF;
616 END submit_request;
617
618 FUNCTION submit_request_addparam
619 (X_APPL_SHORT_NAME IN VARCHAR2,
620 X_DATA_ACCESS_SET_ID IN NUMBER,
621 X_CONCURRENT_REQUEST_ID OUT NOCOPY NUMBER,
622 X_PROGRAM OUT NOCOPY VARCHAR2,
623 X_COA_ID IN NUMBER,
624 X_ADHOC_PREFIX IN VARCHAR2,
625 X_INDUSTRY IN VARCHAR2,
626 X_FLEX_CODE IN VARCHAR2,
627 X_DEFAULT_LEDGER_SHORT_NAME IN VARCHAR2,
628 X_REPORT_ID IN NUMBER,
629 X_ROW_SET_ID IN NUMBER,
630 X_COLUMN_SET_ID IN NUMBER,
631 X_PERIOD_NAME IN VARCHAR2,
632 X_UNIT_OF_MEASURE_ID IN VARCHAR2,
633 X_ROUNDING_OPTION IN VARCHAR2,
634 X_SEGMENT_OVERRIDE IN VARCHAR2,
635 X_CONTENT_SET_ID IN NUMBER,
636 X_ROW_ORDER_ID IN NUMBER,
637 X_REPORT_DISPLAY_SET_ID IN NUMBER,
638 X_OUTPUT_OPTION IN VARCHAR2,
639 X_EXCEPTIONS_FLAG IN VARCHAR2,
640 X_MINIMUM_DISPLAY_LEVEL IN NUMBER,
641 X_ACCOUNTING_DATE IN DATE,
642 X_PARAMETER_SET_ID IN NUMBER,
643 X_PAGE_LENGTH IN NUMBER,
644 X_SUBREQUEST_ID IN NUMBER,
645 X_APPL_DEFLT_NAME IN VARCHAR2,
646 X_GBL_PARAM01 IN VARCHAR2,
647 X_GBL_PARAM02 IN VARCHAR2,
648 X_GBL_PARAM03 IN VARCHAR2,
649 X_GBL_PARAM04 IN VARCHAR2,
650 X_GBL_PARAM05 IN VARCHAR2,
651 X_GBL_PARAM06 IN VARCHAR2,
652 X_GBL_PARAM07 IN VARCHAR2,
653 X_GBL_PARAM08 IN VARCHAR2,
654 X_GBL_PARAM09 IN VARCHAR2,
655 X_GBL_PARAM10 IN VARCHAR2,
656 X_CST_PARAM01 IN VARCHAR2,
657 X_CST_PARAM02 IN VARCHAR2,
658 X_CST_PARAM03 IN VARCHAR2,
659 X_CST_PARAM04 IN VARCHAR2,
660 X_CST_PARAM05 IN VARCHAR2,
661 X_CST_PARAM06 IN VARCHAR2,
662 X_CST_PARAM07 IN VARCHAR2,
663 X_CST_PARAM08 IN VARCHAR2,
664 X_CST_PARAM09 IN VARCHAR2,
665 X_CST_PARAM10 IN VARCHAR2)
666 RETURN BOOLEAN
667 IS
668 TYPE RepTyp IS RECORD
669 (row_set_id NUMBER(15),
670 column_set_id NUMBER(15),
671 unit_of_measure_id VARCHAR2(30),
672 content_set_id NUMBER(15),
673 row_order_id NUMBER(15),
674 rounding_option VARCHAR2(1),
675 parameter_set_id NUMBER(15),
676 minimum_display_level NUMBER(15),
677 report_display_set_id NUMBER(15),
678 output_option VARCHAR2(1),
679 report_title VARCHAR2(240),
680 segment_override VARCHAR2(800));
681
682 report_rec RepTyp;
683 req_id NUMBER;
684 rep_run_type rg_report_content_sets.report_run_type%TYPE;
685 BEGIN
686
687 SELECT row_set_id,
688 column_set_id,
689 unit_of_measure_id,
690 content_set_id,
691 row_order_id,
692 rounding_option,
693 parameter_set_id,
694 minimum_display_level,
695 report_display_set_id,
696 output_option,
697 name,
698 segment_override
699 INTO report_rec
700 FROM RG_REPORTS
701 WHERE REPORT_ID = X_REPORT_ID;
702
703 --
704 -- If content set is used by this report then
705 -- check the report run method.
706 --
707 IF (X_content_set_id IS NOT NULL) THEN
708 SELECT report_run_type
709 INTO rep_run_type
710 FROM rg_report_content_sets
711 WHERE content_set_id = X_content_set_id;
712 ELSE
713 rep_run_type := 'S';
714 END IF;
715
716 IF (rep_run_type = 'P') THEN
717 X_PROGRAM := 'RGSSRQ';
718 req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
719 'RGSSRQ',
720 report_rec.report_title,
721 '',
722 FALSE,
723 TO_CHAR(X_data_access_set_id),
724 TO_CHAR(X_COA_ID),
725 X_ADHOC_PREFIX,
726 X_INDUSTRY,
727 X_FLEX_CODE,
728 X_default_ledger_short_name,
729 TO_CHAR(X_report_id),
730 TO_CHAR(X_row_set_id),
731 TO_CHAR(X_column_set_id),
732 X_period_name,
733 X_unit_of_measure_id,
734 X_rounding_option,
735 X_segment_override,
736 TO_CHAR(X_content_set_id),
737 TO_CHAR(X_row_order_id),
738 TO_CHAR(X_report_display_set_id),
739 X_output_option,
740 X_exceptions_flag,
741 TO_CHAR(X_minimum_display_level),
742 TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
743 TO_CHAR(X_parameter_set_id),
744 TO_CHAR(X_page_length),
745 X_appl_deflt_name,
746 X_GBL_PARAM01,
747 X_GBL_PARAM02,
748 X_GBL_PARAM03,
749 X_GBL_PARAM04,
750 X_GBL_PARAM05,
751 X_GBL_PARAM06,
752 X_GBL_PARAM07,
753 X_GBL_PARAM08,
754 X_GBL_PARAM09,
755 X_GBL_PARAM10,
756 X_CST_PARAM01,
757 X_CST_PARAM02,
758 X_CST_PARAM03,
759 X_CST_PARAM04,
760 X_CST_PARAM05,
761 X_CST_PARAM06,
762 X_CST_PARAM07,
763 X_CST_PARAM08,
764 X_CST_PARAM09,
765 X_CST_PARAM10,
766 chr(0),
767 '', '', '', '', '', '',
768 '', '', '', '', '', '', '', '', '', '',
769 '', '', '', '', '', '', '', '', '', '',
770 '', '', '', '', '', '', '', '', '', '',
771 '', '', '', '', '', '', '', '', '', '',
772 '', '', '', '', '', '', '', '', '', ''
773 );
774 IF (X_output_option = 'Y') THEN
775 UPDATE FND_CONCURRENT_REQUESTS
776 SET
777 OUTPUT_FILE_TYPE = 'XML'
778 WHERE
779 REQUEST_ID = req_id;
780 END IF;
781 ELSE
782 X_PROGRAM := 'RGRARG';
783 req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
784 'RGRARG',
785 report_rec.report_title,
786 '',
787 FALSE,
788 TO_CHAR(X_data_access_set_id),
789 TO_CHAR(X_COA_ID),
790 X_ADHOC_PREFIX,
791 X_INDUSTRY,
792 X_FLEX_CODE,
793 X_default_ledger_short_name,
794 TO_CHAR(X_report_id),
795 TO_CHAR(X_row_set_id),
796 TO_CHAR(X_column_set_id),
797 X_period_name,
798 X_unit_of_measure_id,
799 X_rounding_option,
800 X_segment_override,
801 TO_CHAR(X_content_set_id),
802 TO_CHAR(X_row_order_id),
803 TO_CHAR(X_report_display_set_id),
804 X_output_option,
805 X_exceptions_flag,
806 TO_CHAR(X_minimum_display_level),
807 TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
808 TO_CHAR(X_parameter_set_id),
809 TO_CHAR(X_page_length),
810 TO_CHAR(X_SUBREQUEST_ID),
811 X_appl_deflt_name,
812 X_GBL_PARAM01,
813 X_GBL_PARAM02,
814 X_GBL_PARAM03,
815 X_GBL_PARAM04,
816 X_GBL_PARAM05,
817 X_GBL_PARAM06,
818 X_GBL_PARAM07,
819 X_GBL_PARAM08,
820 X_GBL_PARAM09,
821 X_GBL_PARAM10,
822 X_CST_PARAM01,
823 X_CST_PARAM02,
824 X_CST_PARAM03,
825 X_CST_PARAM04,
826 X_CST_PARAM05,
827 X_CST_PARAM06,
828 X_CST_PARAM07,
829 X_CST_PARAM08,
830 X_CST_PARAM09,
831 X_CST_PARAM10,
832 chr(0),
833 '', '', '', '', '',
834 '', '', '', '', '', '', '', '', '', '',
835 '', '', '', '', '', '', '', '', '', '',
836 '', '', '', '', '', '', '', '', '', '',
837 '', '', '', '', '', '', '', '', '', '',
838 '', '', '', '', '', '', '', '', '', ''
839 );
840 IF (X_output_option = 'Y') THEN
841 UPDATE FND_CONCURRENT_REQUESTS
842 SET
843 OUTPUT_FILE_TYPE = 'XML'
844 WHERE
845 REQUEST_ID = req_id;
846 END IF;
847 END IF;
848
849 IF (req_id=0) THEN
850 RETURN FALSE;
851 ELSE
852 X_concurrent_request_id:= req_id;
853 return TRUE;
854 END IF;
855 END submit_request_addparam;
856
857 FUNCTION submit_xml_request(
858 X_APPL_SHORT_NAME IN VARCHAR2,
859 X_IN_CONC_REQ_ID IN NUMBER,
860 X_CONCURRENT_REQUEST_ID OUT NOCOPY NUMBER,
861 X_PROGRAM OUT NOCOPY VARCHAR2,
862 X_TEMPLATE_CODE IN VARCHAR2,
863 X_APPLICATION_ID IN NUMBER) RETURN BOOLEAN
864 IS
865 l_return BOOLEAN;
866 req_id NUMBER;
867 l_in_conc_req_id VARCHAR2(30);
868 l_application_id VARCHAR2(10);
869 l_locale VARCHAR2(10);
870 l_template_code VARCHAR2(80);
871 BEGIN
872 --
873 SELECT template_code
874 INTO l_template_code
875 FROM XDO_TEMPLATES_VL
876 WHERE description = X_TEMPLATE_CODE;
877 --
878 req_id := 0;
879 l_in_conc_req_id := LTRIM(RTRIM(TO_CHAR(X_IN_CONC_REQ_ID)));
880 l_application_id := LTRIM(RTRIM(TO_CHAR(X_APPLICATION_ID)));
881 --
882 l_locale := '';
883 --
884 X_PROGRAM := 'XDOREPPB';
885 --
886 req_id := FND_REQUEST.SUBMIT_REQUEST(X_APPL_SHORT_NAME,'XDOREPPB',
887 'XML Publisher',NULL,FALSE,
888 l_in_conc_req_id,
889 l_template_code,l_application_id,l_locale,'N','RTF','PDF',
890 CHR(0),'','','','','','','','','','','','','','','','','',
891 '','','','','','','','','','','','','','','','','','','','',
892 '','','','','','','','','','','','','','','','','','','','',
893 '','','','','','','','','','','','','','','','','','','','',
894 '','','','','','','','','','','','','','','');
895 --
896 X_CONCURRENT_REQUEST_ID := req_id;
897 IF (req_id = 0) THEN
898 l_return := FALSE;
899 RETURN l_return;
900 ELSE
901 l_return := TRUE;
902 RETURN l_return;
903 END IF;
904 END submit_xml_request;
905
906 END rg_report_submission_pkg;