DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_CN_FSG_XML_SUBMIT_PROG

Source


1 package body ja_cn_fsg_xml_submit_prog AS
2 --$Header: JACNFXRB.pls 120.4 2007/12/03 04:20:25 qzhao noship $
3 --+=======================================================================+
4 --|               Copyright (c) 2006 Oracle Corporation
5 --|                       Redwood Shores, CA, USA
6 --|                         All rights reserved.
7 --+=======================================================================
8 --| FILENAME
9 --|     JACNFXRB.pls
10 --|
11 --| DESCRIPTION
12 --|
13 --|     This package is used to submit FSG report and XML Report publisher.
14 --|
15 --| TYPE LIEST
16 --|     None
17 --| PROCEDURE LIST
18 --|   PROCEDURE Submit_FSG_XML_Report
19 --|   FUNCTION  Submit_FSG_Request
20 --|   PROCEDURE Submit_xml_Publisher
21 --|
22 --| HISTORY
23 --|   06/02/2006     ShuJuan Yan         Created
24 --|   27/04/2007     Joy liu             Updated
25 --|   the order and number of parameter is changed
26 --+======================================================================*/
27 
28 
29   --==========================================================================
30   --  FUNCTION NAME:
31   --      Submit_FSG_Request                   Private
32   --
33   --  DESCRIPTION:
34   --      This function is used to submit FSG report,
35   --  PARAMETERS:
36   --      In:
37   --      X_APPL_SHORT_NAME		              Application short name
38   --     	X_DATA_ACCESS_SET_ID    	        Data Acess ID
39   --    	X_CONCURRENT_REQUEST_ID 	        CONCURRENT REQUEST ID
40   --      X_PROGRAM               	        PROGRAM
41   --  		X_COA_ID		                      char of accounts id
42   --   		X_ADHOC_PREFIX			              ADHOC PREFIX
43   --  		X_INDUSTRY		                    Industry
44   --   		X_FLEX_CODE		                    Flex Code
45   --      X_DEFAULT_LEDGER_SHORT_NAME	      Default Ledger short Name
46   --  		X_REPORT_ID			                  Report ID
47   -- 		  X_ROW_SET_ID			                Row Set ID
48   --  		X_COLUMN_SET_ID			              Column Set ID
49   -- 		  X_PERIOD_NAME           	        Period Name
50   --  		X_UNIT_OF_MEASURE_ID    	        Unit of Measure ID/currency
51   --  		X_ROUNDING_OPTION                 Rounding Option
52   -- 	  	X_SEGMENT_OVERRIDE      	        Segment Override
53   --  		X_CONTENT_SET_ID                  Content Set ID
54   --   		X_ROW_ORDER_ID          	        Row Order ID
55   --  		X_REPORT_DISPLAY_SET_ID 	        Report Display Set ID
56   --		  X_OUTPUT_OPTION			              Out Option
57   --  		X_EXCEPTIONS_FLAG       	        Exception
58   --  		X_MINIMUM_DISPLAY_LEVEL 	        Minimum Display Level
59   --  		X_ACCOUNTING_DATE                 Accounting Date
60   --   		X_PARAMETER_SET_ID      	        Parameter set ID
61   --  		X_PAGE_LENGTH			                Page Lenth
62   --  		X_SUBREQUEST_ID                   SubRequest ID
63   --  		X_APPL_DEFLT_NAME                 Application Default Name
64   --      Out:
65   --          X_CONCURRENT_REQUEST_ID       Concrrent Request ID
66   --          X_PROGRAM                     Program
67   --
68   --  DESIGN REFERENCES:
69   --      None
70   --
71   --  CHANGE HISTORY:
72   --       06/14/2006     Shujuan Yan          Created
73   --       27/04/2007     Joy liu             Updated
74   --       the order and number of parameter is changed
75   --==========================================================================
76 
77     FUNCTION  Submit_FSG_Request(
78     X_APPL_SHORT_NAME		IN 	VARCHAR2,
79  		X_DATA_ACCESS_SET_ID    	IN      NUMBER,
80 		X_CONCURRENT_REQUEST_ID 	OUT NOCOPY NUMBER,
81     X_PROGRAM               	OUT NOCOPY VARCHAR2,
82 		X_COA_ID			IN      NUMBER,
83 		X_ADHOC_PREFIX			IN	VARCHAR2,
84 		X_INDUSTRY			IN	VARCHAR2,
85 		X_FLEX_CODE			IN	VARCHAR2,
86     X_DEFAULT_LEDGER_SHORT_NAME	IN      VARCHAR2,
87 		X_REPORT_ID			IN      NUMBER,
88 		X_ROW_SET_ID			IN      NUMBER,
89 		X_COLUMN_SET_ID			IN	NUMBER,
90 		X_PERIOD_NAME           	IN      VARCHAR2,
91  		X_UNIT_OF_MEASURE_ID    	IN      VARCHAR2,
92  		X_ROUNDING_OPTION       	IN      VARCHAR2,
93  		X_SEGMENT_OVERRIDE      	IN      VARCHAR2,
94  		X_CONTENT_SET_ID        	IN      NUMBER,
95  		X_ROW_ORDER_ID          	IN	NUMBER,
96  		X_REPORT_DISPLAY_SET_ID 	IN      NUMBER,
97 		X_OUTPUT_OPTION			IN	VARCHAR2,
98  		X_EXCEPTIONS_FLAG       	IN      VARCHAR2,
99 		X_MINIMUM_DISPLAY_LEVEL 	IN	NUMBER,
100 		X_ACCOUNTING_DATE       	IN      DATE,
101  		X_PARAMETER_SET_ID      	IN      NUMBER,
102 		X_PAGE_LENGTH			IN	NUMBER,
103 		X_SUBREQUEST_ID                 IN      NUMBER,
104 		X_APPL_DEFLT_NAME               IN      VARCHAR2)
105 	     RETURN	BOOLEAN
106    IS
107      TYPE RepTyp IS RECORD
108 	       (row_set_id		NUMBER(15),
109 		column_set_id		NUMBER(15),
110 		unit_of_measure_id	VARCHAR2(30),
111 		content_set_id		NUMBER(15),
112 		row_order_id		NUMBER(15),
113 		rounding_option         VARCHAR2(1),
114 		parameter_set_id        NUMBER(15),
115 		minimum_display_level   NUMBER(15),
116 		report_display_set_id   NUMBER(15),
117 		output_option		VARCHAR2(1),
118 		report_title            VARCHAR2(240),
119 		segment_override        VARCHAR2(800));
120 
121      report_rec		RepTyp;
122 
123      req_id		NUMBER;
124      rep_run_type	rg_report_content_sets.report_run_type%TYPE;
125      L_COMPANY_NAME VARCHAR2(100);--show the company name
126      L_LEGAL_ENTITY NUMBER(15);
127    BEGIN
128    --get legal_entity id
129    L_LEGAL_ENTITY:=Fnd_Profile.VALUE(NAME => 'JA_CN_LEGAL_ENTITY');
130    --get company name
131    SELECT COMPANY_NAME
132    INTO L_COMPANY_NAME
133    FROM JA_CN_SYSTEM_PARAMETERS_ALL
134    WHERE LEGAL_ENTITY_ID=L_LEGAL_ENTITY;
135 
136     SELECT 	row_set_id,
137 		column_set_id,
138 		unit_of_measure_id,
139 		content_set_id,
140 		row_order_id,
141 		rounding_option,
142 		parameter_set_id,
143 		minimum_display_level,
144 		report_display_set_id,
145 		output_option,
146 		name,
147 		segment_override
148       INTO    report_rec
149       FROM    RG_REPORTS
150       WHERE   REPORT_ID = X_REPORT_ID;
151 
152       --
153       -- If content set is used by this report then
154       -- check the report run method.
155       --
156       IF (X_content_set_id IS NOT NULL) THEN
157          SELECT report_run_type
158          INTO   rep_run_type
159          FROM   rg_report_content_sets
160          WHERE  content_set_id = X_content_set_id;
161       ELSE
162          rep_run_type := 'S';
163       END IF;
164 
165       IF (rep_run_type = 'P') THEN
166          X_PROGRAM := 'RGSSRQ';
167 	 req_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
168 				'RGSSRQ',
169 			   	report_rec.report_title,
170 				'',
171 				FALSE,
172                                 TO_CHAR(X_data_access_set_id),
173                                 TO_CHAR(X_COA_ID),
174                                 X_ADHOC_PREFIX,
175                                 X_INDUSTRY,
176                                 X_FLEX_CODE,
177 			        X_default_ledger_short_name,
178 		         	TO_CHAR(X_report_id),
179 		         	TO_CHAR(X_row_set_id),
180 			        TO_CHAR(X_column_set_id),
181 			        X_period_name,
182 			        X_unit_of_measure_id,
183 			        X_rounding_option,
184 			        X_segment_override,
185 			        TO_CHAR(X_content_set_id),
186 				TO_CHAR(X_row_order_id),
187 			        TO_CHAR(X_report_display_set_id),
188 				X_output_option,
189 			        X_exceptions_flag,
190 			        TO_CHAR(X_minimum_display_level),
191 			        TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
192  			        TO_CHAR(X_parameter_set_id),
193 			        TO_CHAR(X_page_length),
194 			        X_appl_deflt_name,
195                                 L_COMPANY_NAME,
196                                  '', '', '', '', '', '',
197                                  '', '', '', '', '', '', '', '', '', '',
198                                  '', '', '', '', '', '', '', '', '', '',
199                                  '', '', '', '', '', '', '', '', '', '',
200                                  '', '', '', '', '', '', '', '', '', '',
201                                  '', '', '', '', '', '', '', '', '', '',
202                                  '', '', '', '', '', '', '', '', '', '',
203                                  '', '', '', '', '', '', '', '', '', ''
204                                  );
205          IF (X_output_option = 'Y') THEN
206             UPDATE 	FND_CONCURRENT_REQUESTS
207             SET
208               OUTPUT_FILE_TYPE = 'XML'
209             WHERE
210               REQUEST_ID = req_id;
211          END IF;
212       ELSE
213           X_PROGRAM := 'JACNFSGC';
214   	  req_id := FND_REQUEST.SUBMIT_REQUEST('JA',
215 				    'JACNFSGC',
216 				   report_rec.report_title,
217 				   '',
218 				   FALSE,
219                                    TO_CHAR(X_data_access_set_id),
220                                    TO_CHAR(X_COA_ID),
221                                    X_ADHOC_PREFIX,
222                                    X_INDUSTRY,
223                                    X_FLEX_CODE,
224 			           X_default_ledger_short_name,
225 		         	   TO_CHAR(X_report_id),
226 		         	   TO_CHAR(X_row_set_id),
227 			           TO_CHAR(X_column_set_id),
228 			           X_period_name,
229 			           X_unit_of_measure_id,
230 			           X_rounding_option,
231 			           X_segment_override,
232 			           TO_CHAR(X_content_set_id),
233 				   TO_CHAR(X_row_order_id),
234 			           TO_CHAR(X_report_display_set_id),
235 				   X_output_option,
236 			           X_exceptions_flag,
237 			           TO_CHAR(X_minimum_display_level),
238 			           TO_CHAR(X_accounting_date, 'YYYY/MM/DD'),
239  			           TO_CHAR(X_parameter_set_id),
240 			           TO_CHAR(X_page_length),
241 			           TO_CHAR(X_SUBREQUEST_ID),
242 			           X_appl_deflt_name,
243                                    L_COMPANY_NAME,
244                                    '', '', '', '', '',
245                                    '', '', '', '', '', '', '', '', '', '',
246                                    '', '', '', '', '', '', '', '', '', '',
247                                    '', '', '', '', '', '', '', '', '', '',
248                                    '', '', '', '', '', '', '', '', '', '',
249                                    '', '', '', '', '', '', '', '', '', '',
250                                    '', '', '', '', '', '', '', '', '', '',
251                                    '', '', '', '', '', '', '', '', ''
252                                    );
253          IF (X_output_option = 'Y') THEN
254             UPDATE 	FND_CONCURRENT_REQUESTS
255             SET
256               OUTPUT_FILE_TYPE = 'XML'
257             WHERE
258               REQUEST_ID = req_id;
259          END IF;
260       END IF;
261 
262       IF (req_id = 0) THEN
263          RETURN FALSE;
264       ELSE
265 	 X_concurrent_request_id:= req_id;
266 	 return TRUE;
267       END IF;
268    END Submit_FSG_Request;
269 
270 
271 
272 
273   --==========================================================================
274   --  PROCEDURE NAME:
275   --      Submit_xml_publiser                   Private
276   --
277   --  DESCRIPTION:
278   --      This procedure is used to submit xml publisher concurrent,
279   --  PARAMETERS:
280   --      In: p_template_appl      template application
281   --          p_ltemplate          template name
282   --          p_template_locale    template locale
283   --          p_output_format      output format
284   --     Out: x_xml_request_id     xml request id
285   --          x_result_flag        result flag
286   --
287   --  DESIGN REFERENCES:
288   --      None
289   --
290   --  CHANGE HISTORY:
291   --       06/03/2006     Shujuan Yan          Created
292   --==========================================================================
293    PROCEDURE    Submit_xml_Publisher(p_fsg_request_id IN NUMBER,
294                                      p_template_appl   IN VARCHAR2,
295                                      p_template        IN VARCHAR2,
296                                      p_template_locale IN VARCHAR2,
297 
298                                      p_output_format   IN VARCHAR2,
299                                      x_xml_request_id  OUT NOCOPY NUMBER,
300                                      x_result_flag     OUT NOCOPY VARCHAR2) IS
301 
302     l_procedure_name     VARCHAR2(30) := 'Submit_xml_Publisher';
303     l_runtime_level      NUMBER := fnd_log.g_current_runtime_level;
304     l_procedure_level    NUMBER := fnd_log.level_procedure;
305     --l_statement_level    NUMBER := fnd_log.level_statement;
306     --l_exception_level    NUMBER := fnd_log.level_exception;
307     l_complete_flag      BOOLEAN;
308     l_phase              VARCHAR2(100);
309     l_status             VARCHAR2(100);
310     l_del_phase          VARCHAR2(100);
311     l_del_status         VARCHAR2(100);
312     l_message            VARCHAR2(1000);
313 
314   BEGIN
315     --log for debug
316     IF (l_procedure_level >= l_runtime_level) THEN
317       fnd_log.STRING(l_procedure_level,
318                      g_module_name || '.' || l_procedure_name || '.begin',
319                      'begin procedure');
320     END IF; --l_procedure_level >= l_runtime_level
321     -- submit xml publisher concurrent program
322     x_xml_request_id := fnd_request.submit_request('XDO',
323                                                    'XDOREPPB',
324                                                     NULL,
325                                                     SYSDATE,
326                                                     FALSE,
327                                                     'Y',   --added by lyb, for bug 6642516
328                                                     p_fsg_request_id,
329                                                     p_template_appl,
330                                                     p_template,
331                                                     p_template_locale,
332                                                     NULL,
333                                                     NULL,
334                                                     p_output_format);
335 
336       IF (x_xml_request_id <= 0 OR x_xml_request_id IS NULL)
337       THEN
338           x_result_flag := 'Error';
339       ELSE
340         COMMIT;
341         --Wait for concurrent complete
342         l_complete_flag := fnd_concurrent.wait_for_request(x_xml_request_id,
343                                                            1,
344                                                            0,
345                                                            l_phase,
346                                                            l_status,
347                                                            l_del_phase,
348                                                            l_del_status,
349                                                            l_message);
350         IF l_complete_flag = FALSE OR
351            JA_CN_UTILITY.get_lookup_code(p_lookup_meaning => l_status,
352                            p_lookup_type    => 'CP_STATUS_CODE') <> 'C'
353         THEN
354              x_result_flag := 'Error';
355         ELSE x_result_flag := 'Sucess';
356         END IF; -- l_complete_flag = false
357      END IF; -- (x_xml_request_id <= 0 OR x_xml_request_id IS NULL)
358 
359     --log for debug
360     IF (l_procedure_level >= l_runtime_level)
361     THEN
362       fnd_log.STRING(l_procedure_level,
363                      g_module_name || '.' || l_procedure_name || '.end',
364                      'end procedure');
365     END IF; --l_procedure_level >= l_runtime_level
366    EXCEPTION
367    WHEN OTHERS THEN
368       --log for debug
369       IF (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
370       THEN
371         fnd_log.STRING(fnd_log.level_unexpected,
372                        g_module_name || l_procedure_name ||
373                        '. OTHER_EXCEPTION ',
374                        SQLCODE || SQLERRM);
375       END IF; -- fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
376       RAISE;
377   END Submit_xml_Publisher;
378   --==========================================================================
379   --  PROCEDURE NAME:
380   --    Submit_FSG_XML_Report                  Private
381   --
382   --  DESCRIPTION:
383   --     This procedure is used to submit FSG report and XML Report publisher .
384   --  PARAMETERS:
385   --      In:
386   --      P_APPL_SHORT_NAME		              Application short name
387   --     	P_DATA_ACCESS_SET_ID    	        Data Acess ID
388   --    	P_CONCURRENT_REQUEST_ID 	        CONCURRENT REQUEST ID
389   --      P_PROGRAM               	        PROGRAM
390   --  		P_COA_ID		                      char of accounts id
391   --   		P_ADHOC_PREFIX			              ADHOC PREFIX
392   --  		P_INDUSTRY		                    Industry
393   --   		P_FLEX_CODE		                    Flex Code
394   --      P_DEFAULT_LEDGER_SHORT_NAME	      Default Ledger short Name
395   --  		P_REPORT_ID			                  Report ID
396   -- 		  P_ROW_SET_ID			                Row Set ID
397   --  		P_COLUMN_SET_ID			              Column Set ID
398   -- 		  P_PERIOD_NAME           	        Period Name
399   --  		P_UNIT_OF_MEASURE_ID    	        Unit of Measure ID/currency
400   --  		P_ROUNDING_OPTION                 Rounding Option
401   -- 	  	P_SEGMENT_OVERRIDE      	        Segment Override
402   --  		P_CONTENT_SET_ID                  Content Set ID
403   --   		P_ROW_ORDER_ID          	        Row Order ID
404   --  		P_REPORT_DISPLAY_SET_ID 	        Report Display Set ID
405   --		  P_OUTPUT_OPTION			              Out Option
406   --  		P_EXCEPTIONS_FLAG       	        Exception
407   --  		P_MINIMUM_DISPLAY_LEVEL 	        Minimum Display Level
408   --  		P_ACCOUNTING_DATE                 Accounting Date
409   --   		P_PARAMETER_SET_ID      	        Parameter set ID
410   --  		P_PAGE_LENGTH			                Page Lenth
411   --  		P_SUBREQUEST_ID                   SubRequest ID
412   --  		P_APPL_DEFLT_NAME                 Application Default Name
413 
414   --      p_template          Template name
415   --      p_template_locale   Template locale
416   --      p_output_format     Output format
417   --      p_source_charset    source charset
418   --      p_destination_charset  destination charset
419   --      p_destination_filename destination filename
420   --      p_source_separator     source separator
421   --      Out:
422   --          X_CONCURRENT_REQUEST_ID       Concrrent Request ID
423   --          X_PROGRAM                     Program
424 
425   --  DESIGN REFERENCES:
426   --      None
427   --
428   --  CHANGE HISTORY:
429   --      06/02/2006     Shujuan Yan          Created
430   --       27/04/2007     Joy liu             Updated
431   --       the order and number of parameter is changed
432   --===========================================================================
433   PROCEDURE Submit_FSG_XML_Report(errbuf              OUT NOCOPY VARCHAR2,
434                                   retcode             OUT NOCOPY VARCHAR2,
435 
436                                		P_DATA_ACCESS_SET_ID    IN      NUMBER,
437                                   P_COA_ID		          	IN      NUMBER,
438                                   P_ADHOC_PREFIX          IN      VARCHAR2,
439                                   P_INDUSTRY              IN      VARCHAR2,
440                                   P_FLEX_CODE             IN      VARCHAR2,
441                                   P_DEFAULT_LEDGER_SHORT_NAME   IN  VARCHAR2,
442                               		P_REPORT_ID		          IN      NUMBER,
443                               		P_ROW_SET_ID		        IN      NUMBER,
444                               		P_COLUMN_SET_ID		      IN	    NUMBER,
445                                   p_PERIOD_NAME           IN      VARCHAR2,
446                                   p_UNIT_OF_MEASURE_ID    IN      VARCHAR2,
447                                   P_ROUNDING_OPTION       IN      VARCHAR2,
448                                   P_SEGMENT_OVERRIDE      IN      VARCHAR2,
449                                		P_CONTENT_SET_ID        IN      NUMBER,
450                                		P_ROW_ORDER_ID          IN	    NUMBER,
451                                		P_REPORT_DISPLAY_SET_ID IN      NUMBER,
452                               		P_OUTPUT_OPTION		      IN	    VARCHAR2,
453                                   P_EXCEPTIONS_FLAG       IN      VARCHAR2,
454                                   p_MINIMUM_DISPLAY_LEVEL IN	    NUMBER,
455                                   p_ACCOUNTING_DATE       IN      VARCHAR2,
456                                		P_PARAMETER_SET_ID      IN      NUMBER,
457                                		p_PAGE_LENGTH		        IN	    NUMBER,
458 
459                                   p_subrequest_id         IN      NUMBER,
460                                   P_APPL_DEFLT_NAME       IN      VARCHAR2,
461 
462                                   p_template          IN VARCHAR2,
463                                   p_template_locale   IN VARCHAR2,
464 
465 
466 
467                                   p_output_format     IN VARCHAR2,
468                                   p_source_charset    IN VARCHAR2,
469                                   p_destination_charset     IN VARCHAR2,
470                                   p_destination_filename    IN VARCHAR2,
471                                   p_source_separator        IN VARCHAR2
472                                   ) IS
473 
474     l_procedure_name     VARCHAR2(30) := 'Submit_FSG_XML_Report';
475     l_dbg_level          NUMBER := FND_LOG.G_Current_Runtime_Level;
476     l_proc_level         NUMBER := FND_LOG.Level_Procedure;
477     --l_stmt_level         NUMBER := FND_LOG.Level_Statement;
478     l_fsg_request_id     NUMBER;
479     l_xml_request_id     NUMBER;
480     l_program            VARCHAR2(10);
481     l_submit_request_exp EXCEPTION;
482     l_conc_succ          BOOLEAN;
483     l_template_appl      NUMBER ;--VARCHAR2(50);
484     --result flag
485     l_xml_result_flag     VARCHAR2(15);
486     l_charset_result_flag VARCHAR2(15);
487     l_filename_result_flag VARCHAR2(15);
488 
489     l_charset_request_id  NUMBER;
490     l_filename_request_id NUMBER;
491   BEGIN
492 
493     --log for debug
494     IF (l_proc_level >= l_dbg_level) THEN
495       FND_LOG.STRING(l_proc_level,
496                      g_module_name || '.' || l_procedure_name || '.begin',
497                      'begin procedure');
498     END IF; --( g_proc_level >= g_dbg_level)
499         --call JA_CN_UTILITY.Check_Profile, if it doesn't return true, exit
500     IF JA_CN_UTILITY.Check_Profile() <> TRUE THEN
501       IF (l_proc_level >= l_dbg_level) THEN
502         FND_LOG.STRING(l_proc_level,
503                        l_procedure_name,
504                        'Check profile failed!');
505       END IF; --l_exception_level >= l_runtime_level
506       retcode := 1;
507       errbuf  := '';
508       RETURN;
509     END IF; --JA_CN_UTILITY.Check_Profile() != TRUE
510 
511     -- Submit FSG report
512     IF
513     Submit_FSG_Request('JA',
514                    P_data_access_set_id,
515                    l_fsg_request_id,
516                    l_program,
517 
518                     P_COA_ID,
519                     P_ADHOC_PREFIX,
520                     P_INDUSTRY,
521                     P_FLEX_CODE,
522                     P_DEFAULT_LEDGER_SHORT_NAME,
523                     P_REPORT_ID,
524                     P_ROW_SET_ID,
525                     P_COLUMN_SET_ID,
526                     p_PERIOD_NAME,
527                     p_UNIT_OF_MEASURE_ID,
528                     P_ROUNDING_OPTION,
529                     P_SEGMENT_OVERRIDE,
530                  		P_CONTENT_SET_ID ,
531                  		P_ROW_ORDER_ID,
532                  		P_REPORT_DISPLAY_SET_ID,
533                 		P_OUTPUT_OPTION,
534                     P_EXCEPTIONS_FLAG,
535                     p_MINIMUM_DISPLAY_LEVEL,
536                     to_date(p_ACCOUNTING_DATE, 'YYYY/MM/DD HH24:MI:SS'),
537 
538                  		P_PARAMETER_SET_ID,
539                  		p_PAGE_LENGTH,
540 
541                     p_subrequest_id,
542                     P_APPL_DEFLT_NAME
543 
544                  )
545    THEN
546        -- Get template application id
547       SELECT APP.APPLICATION_ID
548         INTO l_template_appl
549         FROM FND_APPLICATION_VL      APP,
550              FND_CONCURRENT_PROGRAMS FCP,
551              FND_CONCURRENT_REQUESTS R
552        WHERE FCP.CONCURRENT_PROGRAM_ID = R.CONCURRENT_PROGRAM_ID
553          AND R.REQUEST_ID = l_fsg_request_id
554          AND APP.APPLICATION_ID = FCP.APPLICATION_ID;
555       --submit XML publisher concurrent program
556 
557       submit_xml_publisher(l_fsg_request_id,
558                            l_template_appl,
559                            p_template,
560                            p_template_locale,
561                            p_output_format,
562 
563                            l_xml_request_id,
564                            l_xml_result_flag);
565        IF l_xml_result_flag = 'Error'
566        THEN
567           errbuf  := fnd_message.get;
568           retcode := 2;
569           RAISE l_submit_request_exp;
570        ELSE
571           -- submit charset conversion concurrent program
572           JA_CN_UTILITY.submit_charset_conversion(l_xml_request_id,
573                                                   p_source_charset,
574                                                   p_destination_charset,
575                                                   p_source_separator,
576                                                   l_charset_request_id,
577                                                   l_charset_result_flag);
578 
579             IF l_charset_result_flag = 'Error'
580             THEN
581                errbuf  := fnd_message.get;
582                retcode := 2;
583                RAISE l_submit_request_exp;
584             ELSE
585                --submit change output filename concurrent program
586                JA_CN_UTILITY.change_output_filename(l_xml_request_id,
587                                                     p_destination_charset,
588                                                     p_destination_filename,
589                                                     l_filename_request_id,
590                                                     l_filename_result_flag);
591                 IF l_filename_result_flag = 'Error'
592                 THEN
593                    errbuf  := fnd_message.get;
594                    retcode := 2;
595                    RAISE l_submit_request_exp;
596                 END IF; --l_filename_result_flag = 'Error'
597              END IF; --l_charset_result_flag = 'Error'
598           END IF; --l_xml_error_flag = 'Error'
599       END IF;
600 
601 
602     IF (l_proc_level >= l_dbg_level)
603     THEN
604       FND_LOG.STRING(l_proc_level,
605                      g_module_name || '.' || l_procedure_name || '.end',
606                      'end procedure');
607     END IF; --( g_proc_level >= g_dbg_level)
608   EXCEPTION
609     WHEN l_submit_request_exp
610     THEN
611       fnd_file.put_line(fnd_file.output, SQLCODE || ':' || SQLERRM);
612       l_conc_succ := fnd_concurrent.set_completion_status(status  => 'ERROR',
613                                                           message => SQLCODE || ':' ||
614                                                                      SQLERRM);
615       --log for debug
616       IF (l_proc_level >= l_dbg_level)
617       THEN
618         fnd_log.STRING(l_proc_level,
619                        g_module_name || '.' || l_procedure_name ||
620                        '. Submit_Request_Exception ',
621                        SQLCODE || ':' || SQLERRM);
622       END IF; --(l_proc_level >= l_dbg_level)
623     WHEN OTHERS THEN
624       fnd_file.put_line(fnd_file.output, SQLCODE || ':' || SQLERRM);
625       l_conc_succ := fnd_concurrent.set_completion_status(status  => 'ERROR',
626                                                           message => SQLCODE || ':' ||
627                                                                      SQLERRM);
628       --log for debug
629       IF (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
630       THEN
631         fnd_log.STRING(fnd_log.level_unexpected,
632                        g_module_name || l_procedure_name ||
633                        '. OTHER_EXCEPTION ',
634                        SQLCODE || SQLERRM);
635       END IF;
636       RAISE;
637  END Submit_FSG_XML_Report;
638 end ja_cn_fsg_xml_submit_prog;
639