DBA Data[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;