DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_CN_APAR_EXPORT_PROG

Source


1 PACKAGE BODY JA_CN_APAR_EXPORT_PROG AS
2 --$Header: JACNPREB.pls 120.0 2010/05/13 09:20:04 wuwu noship $
3 --+=======================================================================+
4 --|               Copyright (c) 1998 Oracle Corporation                   |
5 --|                       Redwood Shores, CA, USA                         |
6 --|                         All rights reserved.                          |
7 --+=======================================================================+
8 --| FILENAME                                                              |
9 --|     JACNPREB.pls                                                      |
10 --|                                                                       |
11 --| DESCRIPTION                                                           |
12 --|     Use this package to export Reports for Receivables and Payables   |
13 --|                                                                       |
14 --| PROCEDURE LIST                                                        |
15 --|      PROCEDURE Export_APAR                                            |
16 --|      PROCEDURE Submit_Request                                         |
17 --|                                                                       |
18 --| HISTORY                                                               |
19 --|     01-APR-2010       Chaoqun Wu       Created                        |
20 --+======================================================================*/
21 
22 GV_MODULE_PREFIX VARCHAR2(100) := 'JA_CN_APAR_EXPORT_PROG';
23 
24 --==========================================================================
25 --  PROCEDURE NAME:
26 --
27 --   Export_APAR                        Public
28 --
29 --  DESCRIPTION:
30 --
31 --    This procedure is to export Reports for Receivables and Payables,
32 --     and program will populate 4 reports into one XML file.
33 --
34 --  PARAMETERS:
35 --      Out: pv_errbuf                 NOCOPY VARCHAR2
36 --           pv_retcode                NOCOPY VARCHAR2
37 --      In:  pn_legal_entity_id        NUMBER identifier of legal entity
38 --           pn_ledger_id              NUMBER identifier of ledger
39 --           pn_coa_id                 NUMBER identifier of chart of account
40 --           pv_accounting_year        VARCHAR2 accounting year
41 --           pv_period_from            VARCHAR2 period from
42 --           pv_period_to              VARCHAR2 period to
43 --
44 --  DESIGN REFERENCES:
45 --    APAR_Chaoqun.doc
46 --
47 --  CHANGE HISTORY:
48 --      01-Apr-2010   Chaoqun Wu  created
49 --==========================================================================
50 PROCEDURE Export_APAR
51 (pv_errbuf                 OUT NOCOPY VARCHAR2
52 ,pv_retcode                OUT NOCOPY VARCHAR2
53 ,pn_legal_entity_id        IN  NUMBER
54 ,pn_ledger_id              IN  NUMBER
55 ,pn_coa_id                 IN  NUMBER
56 ,pv_accounting_year        IN  VARCHAR2
57 ,pv_period_from            IN  VARCHAR2
58 ,pv_period_to              IN  VARCHAR2
59 )
60 IS
61 lv_gl_element      VARCHAR2(1000);
62 lv_procedure_name  VARCHAR2(40) := 'Export_APAR';
63 ln_dbg_level       NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
64 ln_proc_level      NUMBER := FND_LOG.LEVEL_PROCEDURE;
65 NO_DATA            EXCEPTION;
66 
67 BEGIN
68   --logging for debug
69   IF (ln_proc_level >= ln_dbg_level)
70   THEN
71     FND_LOG.STRING(ln_proc_level,
72                    GV_MODULE_PREFIX || '.' || lv_procedure_name ||
73                    '.begin',
74                    'Enter procedure');
75     -- logging the parameters
76     FND_LOG.STRING(ln_proc_level,
77                    lv_procedure_name ||
78                    '.parameters',
79                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
80                    'pn_ledger_id=' || pn_ledger_id || ',' ||
81                    'pn_coa_id=' || pn_coa_id || ',' ||
82                    'pv_accounting_year=' || pv_accounting_year || ',' ||
83                    'pv_period_from=' || pv_period_from || ',' ||
84                    'pv_period_to=' || pv_period_to);
85   END IF; --l_proc_level>=l_dbg_level
86   FND_FILE.put_line(FND_FILE.log, lv_procedure_name ||
87                    '.parameters:'||
88                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
89                    'pn_ledger_id=' || pn_ledger_id || ',' ||
90                    'pn_coa_id=' || pn_coa_id || ',' ||
91                    'pv_accounting_year=' || pv_accounting_year || ',' ||
92                    'pv_period_from=' || pv_period_from || ',' ||
93                    'pv_period_to=' || pv_period_to);
94 
95 
96   --Step0: Populate balancing segment values to table ja_cn_ledger_le_bsv_gt
97   DELETE
98     FROM   JA_CN_LEDGER_LE_BSV_GT;
99     COMMIT ;
100   IF ja_cn_utility.populate_ledger_le_bsv_gt(pn_ledger_id, pn_legal_entity_id) <> 'S' THEN
101      RETURN;
102   END IF;
103 
104   --Step1: Generate XML header part
105   FND_FILE.put_line(FND_FILE.output,'<?xml version="1.0" encoding='||'"'||JA_CN_UTILITY.Get_XML_Encoding||'"?>');
106   lv_gl_element := '<' || Ja_Cn_Utility.Get_XML_Tag('RECEIVABLE_PAYABLE',Ja_Cn_Utility.GV_REQUIRED_NO,Ja_Cn_Utility.GV_MODULE_APAR) ||
107                    ' xsi:schemaLocation="http://sxbw.audit.gov.cn/AccountingSoftwareDataInterfaceStandard/2010/SOE/XMLSchema ' ||
108                    Ja_Cn_Utility.Get_XML_Tag('RECEIVABLE_PAYABLE',Ja_Cn_Utility.GV_REQUIRED_NO,Ja_Cn_Utility.GV_MODULE_APAR) ||
109                    '.xsd" xmlns:' ||
110                    Ja_Cn_Utility.Get_XML_Tag('SOE') || '="http://sxbw.audit.gov.cn/AccountingSoftwareDataInterfaceStandard/2010/SOE/XMLSchema"'||
111                    ' xmlns="http://sxbw.audit.gov.cn/AccountingSoftwareDataInterfaceStandard/2010/SOE/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">';
112 
113   FND_FILE.put_line(FND_FILE.output, lv_gl_element);
114 
115   --Step2: Export Document Type
116   Ja_Cn_Utility.Print_Concurrent_Steps_For_Log('1.1'
117                                               ,'DOCUMENT_TYPE'
118                                               ,Ja_Cn_Utility.GV_MODULE_APAR);
119   JA_CN_APAR_COMMON_PKG.Add_Document_Type;
120 
121   --Step3: Export Transaction Type
122   Ja_Cn_Utility.Print_Concurrent_Steps_For_Log('1.2'
123                                               ,'TRANSACTION_TYPE'
124                                               ,Ja_Cn_Utility.GV_MODULE_APAR);
125   JA_CN_APAR_COMMON_PKG.Add_Transaction_Type(pn_legal_entity_id => pn_legal_entity_id
126                                             ,pn_ledger_id       => pn_ledger_id
127                                             ,pv_accounting_year => pv_accounting_year
128                                             );
129   --Step4: Receivable balance detail export
130   Ja_Cn_Utility.Print_Concurrent_Steps_For_Log('1.3'
131                                               ,'RECEIVABLE_DETAIL_REPORT'
132                                               ,Ja_Cn_Utility.GV_MODULE_APAR);
133   JA_CN_AR_RBD_EXPORT_PKG.Add_Receivables_Balance_Detail(pn_legal_entity_id  => pn_legal_entity_id
134                                                         ,pn_ledger_id        => pn_ledger_id
135                                                         ,pn_coa_id           => pn_coa_id
136                                                         ,pv_accounting_year  => pv_accounting_year
137                                                         ,pv_period_from      => pv_period_from
138                                                         ,pv_period_to        => pv_period_to
139                                                         );
140   --Step5: Payable balance detail export
141   Ja_Cn_Utility.Print_Concurrent_Steps_For_Log('1.4'
142                                               ,'PAYABLE_DETAIL_REPORT'
143                                               ,Ja_Cn_Utility.GV_MODULE_APAR);
144   JA_CN_AP_PBD_EXPORT_PKG.Add_Payables_Balance_Detail(pn_legal_entity_id  => pn_legal_entity_id
145                                                      ,pn_ledger_id        => pn_ledger_id
146                                                      ,pn_coa_id           => pn_coa_id
147                                                      ,pv_accounting_year  => pv_accounting_year
148                                                      ,pv_period_from      => pv_period_from
149                                                      ,pv_period_to        => pv_period_to
150                                                      );
151 
152   FND_FILE.put_line(FND_FILE.output
153                    ,Ja_Cn_Utility.Get_XML_Tag('RECEIVABLE_PAYABLE'
154                                              ,Ja_Cn_Utility.GV_TAG_TYPE_END
155                                              ,Ja_Cn_Utility.GV_MODULE_APAR
156                                              )
157                    );
158 
159   --logging for debug
160   IF (ln_proc_level >= ln_dbg_level)
161   THEN
162     FND_LOG.STRING(ln_proc_level,
163                    GV_MODULE_PREFIX || '.' || lv_procedure_name || '.end',
164                    'Exit procedure');
165   END IF; -- (ln_proc_level>=ln_dbg_level)
166 
167 EXCEPTION
168   WHEN OTHERS THEN
169   IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
170   THEN
171     FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
172                    GV_MODULE_PREFIX || '.' || lv_procedure_name ||
173                    '.Other_Exception ',
174                    SQLCODE || SQLERRM);
175   END IF;
176   pv_retcode := '2';
177   pv_errbuf := SQLCODE || SQLERRM;
178   FND_FILE.put_line(FND_FILE.log, lv_procedure_name || SQLCODE || SQLERRM);
179 
180 END Export_APAR;
181 
182 --==========================================================================
183 --  PROCEDURE NAME:
184 --
185 --   Submit_Request                        Public
186 --
187 --  DESCRIPTION:
188 --
189 --    This procedure is to submit request of export report for Payables and Receivables
190 --
191 --  PARAMETERS:
192 --      Out: pv_errbuf                    NOCOPY VARCHAR2
193 --           pv_retcode                   NOCOPY VARCHAR2
194 --      In:  pn_legal_entity_id           NUMBER identifier of legal entity
195 --           pn_chart_of_account_id       NUMBER identifier of chart of account
196 --           pn_ledger_id                 NUMBER identifier of ledger
197 --           pn_coa_id                    NUMBER identifier of chart of account
198 --           pv_accounting_year           VARCHAR2 accounting year
199 --           pv_period_from               VARCHAR2 period from
200 --           pv_period_to                 VARCHAR2 period to
201 --           pv_source_char_set           VARCHAR2 source character set
202 --           pv_dest_char_set             VARCHAR2 destination character set
203 --           pv_template_language         VARCHAR2 template language
204 --           pv_template_territory        VARCHAR2 template territory
205 --           pv_output_format             VARCHAR2 output format
206 --
207 --  DESIGN REFERENCES:
208 --    APAR_Chaoqun.doc
209 --
210 --  CHANGE HISTORY:
211 --      01-Apr-2010   Chaoqun Wu  created
212 --==========================================================================
213 
214 PROCEDURE Submit_Request
215 (pv_errbuf                    OUT NOCOPY VARCHAR2
216 ,pv_retcode                   OUT NOCOPY VARCHAR2
217 ,pn_legal_entity_id           IN  NUMBER
218 ,pn_ledger_id                 IN  NUMBER
219 ,pn_coa_id                    IN  NUMBER
220 ,pv_accounting_year           IN  VARCHAR2
221 ,pv_period_from               IN  VARCHAR2
222 ,pv_period_to                 IN  VARCHAR2
223 ,pv_source_char_set           IN  VARCHAR2
224 ,pv_dest_char_set             IN  VARCHAR2
225 ,pv_template_language         IN  VARCHAR2
226 ,pv_template_territory        IN  VARCHAR2
227 ,pv_output_format             IN  VARCHAR2
228 )
229 IS
230 lv_procedure_name         VARCHAR2(40) := 'Submit_Request';
231 ln_dbg_level              NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
232 ln_proc_level             NUMBER := FND_LOG.LEVEL_PROCEDURE;
233 lv_error_status           BOOLEAN;
234 
235 ln_reqid_pre               NUMBER;
236 lv_pre_phase               fnd_lookup_values.meaning%TYPE;
237 lv_pre_status              fnd_lookup_values.meaning%TYPE;
238 lv_pre_status_code         fnd_lookup_values.lookup_code%TYPE;
239 
240 lv_error_flag              VARCHAR2(1);
241 ln_waiting_interval        NUMBER   :=10;
242 lv_message                 VARCHAR2(1000);
243 lv_dev_phase               fnd_lookup_values.meaning%TYPE;
244 lv_dev_status              fnd_lookup_values.meaning%TYPE;
245 
246 lv_output_file_name        VARCHAR2(100);
247 ln_reqid_cvt               NUMBER;
248 lv_cvt_req_status          fnd_lookup_values.meaning%TYPE;
249 
250 ln_reqid_chg               NUMBER;
251 lv_chg_req_status          fnd_lookup_values.meaning%TYPE;
252 
253 ln_reqid_apv               NUMBER;
254 lv_apv_req_phase           fnd_lookup_values.meaning%TYPE;
255 lv_apv_req_status          fnd_lookup_values.meaning%TYPE;
256 lv_apv_req_status_code     fnd_lookup_values.lookup_code%TYPE;
257 lb_xml_layout              BOOLEAN;
258 
259 ln_reqid_arv               NUMBER;
260 lv_arv_req_phase           fnd_lookup_values.meaning%TYPE;
261 lv_arv_req_status          fnd_lookup_values.meaning%TYPE;
262 lv_arv_req_status_code     fnd_lookup_values.lookup_code%TYPE;
263 
264 lv_period_from             VARCHAR2(20):= pv_period_from;
265 lv_period_to               VARCHAR2(20):= pv_period_to;
266 
267 BEGIN
268   --logging for debug
269   IF (ln_proc_level >= ln_dbg_level)
270   THEN
271     FND_LOG.STRING(ln_proc_level,
272                    GV_MODULE_PREFIX || '.' || lv_procedure_name ||
273                    '.begin',
274                    'Enter procedure');
275     -- logging the parameters
276     FND_LOG.STRING(ln_proc_level,
277                    lv_procedure_name ||
278                    '.parameters',
279                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
283                    'pv_period_from=' || pv_period_from || ',' ||
280                    'pn_ledger_id=' || pn_ledger_id || ',' ||
281                    'pn_coa_id=' || pn_coa_id || ',' ||
282                    'pv_accounting_year=' || pv_accounting_year || ',' ||
284                    'pv_period_to=' || pv_period_to || ',' ||
285                    'pv_template_language=' || pv_template_language || ',' ||
286                    'pv_template_territory=' || pv_template_territory || ',' ||
287                    'pv_output_format=' || pv_output_format);
288   END IF; --l_proc_level>=l_dbg_level
289   FND_FILE.put_line(FND_FILE.log, lv_procedure_name ||
290                    '.parameters:'||
291                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
292                    'pn_ledger_id=' || pn_ledger_id || ',' ||
293                    'pn_coa_id=' || pn_coa_id || ',' ||
294                    'pv_accounting_year=' || pv_accounting_year || ',' ||
295                    'pv_period_from=' || pv_period_from || ',' ||
296                    'pv_period_to=' || pv_period_to || ',' ||
297                    'pv_template_language=' || pv_template_language || ',' ||
298                    'pv_template_territory=' || pv_template_territory || ',' ||
299                    'pv_output_format=' || pv_output_format);
300 
301   --Step1: Check profile
302   IF NOT(JA_CN_UTILITY.Check_Profile)
303   THEN
304     pv_retcode := 1;
305     pv_errbuf  := '';
306     RETURN;
307   END IF;
308 
309   IF lv_period_from IS NULL
310   THEN
311      BEGIN
312        SELECT PERIOD_NAME
313          INTO lv_period_from
314         FROM (SELECT PERIOD_NAME
315                 FROM GL_PERIOD_STATUSES
316                WHERE APPLICATION_ID = 101
317                  AND LEDGER_ID = pn_ledger_id
318                  AND PERIOD_YEAR = pv_accounting_year
319                  AND CLOSING_STATUS <> 'N'
320                  AND CLOSING_STATUS <> 'F'
321                ORDER BY START_DATE ASC)
322        WHERE ROWNUM = 1;
323      EXCEPTION
324         WHEN OTHERS THEN
325            NULL;
326      END;
327   END IF;
328 
329   IF lv_period_to IS NULL
330   THEN
331      BEGIN
332        SELECT PERIOD_NAME
333          INTO lv_period_to
334         FROM (SELECT PERIOD_NAME
335                 FROM GL_PERIOD_STATUSES
336                WHERE APPLICATION_ID = 101
337                  AND LEDGER_ID = pn_ledger_id
338                  AND PERIOD_YEAR = pv_accounting_year
339                  AND CLOSING_STATUS <> 'N'
340                  AND CLOSING_STATUS <> 'F'
341                ORDER BY START_DATE DESC)
342        WHERE ROWNUM = 1;
343      EXCEPTION
344         WHEN OTHERS THEN
345            NULL;
346      END;
347   END IF;
348 
349   --Step2: Submit 'Export Report for Receivables and Payables'
350   FND_FILE.PUT_LINE(FND_FILE.LOG, 'Step 1: Submit Export Report for Receivables and Payables');
351   ln_reqid_pre:=FND_REQUEST.Submit_Request(application  => 'JA'
352                                           ,program      => 'JACNPRER'
353                                           ,argument1    => pn_legal_entity_id
354                                           ,argument2    => pn_ledger_id
355                                           ,argument3    => pn_coa_id
356                                           ,argument4    => pv_accounting_year
357                                           ,argument5    => lv_period_from
358                                           ,argument6    => lv_period_to
359                                           );
360   COMMIT;
361   --Waiting for the 'Export Report for Receivables and Payables' completed
362   --get its status
363 
364   IF ln_reqid_pre<>0
365   THEN
366 
367     IF FND_CONCURRENT.Wait_For_Request(request_id   => ln_reqid_pre
368                                       ,interval     => ln_waiting_interval
369                                       ,phase        => lv_pre_phase
370                                       ,status       => lv_pre_status
371                                       ,dev_phase    => lv_dev_phase
372                                       ,dev_status   => lv_dev_status
373                                       ,message      => lv_message
374                                       )
375     THEN
376 
377       --To get lookup code for current status
378       SELECT
379         lookup_code
380       INTO
381         lv_pre_status_code
382       FROM
383         fnd_lookup_values
384       WHERE lookup_type = 'CP_STATUS_CODE'
385         AND view_application_id=0
386         AND security_group_id=0
387         AND meaning=lv_pre_status
388         AND enabled_flag='Y'
389         AND language = USERENV('LANG');
390 
391       --Completed with Normal
392       IF lv_pre_status_code='C'
393       THEN
394           --Submit characrter set conversion program
395           --to convert charaterset of output file
396           FND_FILE.PUT_LINE(FND_FILE.LOG, 'Step 2: Submit Character Set Conversion program');
397           JA_CN_UTILITY.Submit_XML_Charset_Conversion(p_xml_request_id      => ln_reqid_pre
398                                                      ,p_source_charset      => JA_CN_UTILITY.Get_XML_Encoding
399                                                      ,p_destination_charset => pv_dest_char_set
400                                                      ,p_source_separator    => NULL
401                                                      ,x_charset_request_id  => ln_reqid_cvt
402                                                      ,x_result_flag         => lv_cvt_req_status
403                                                      );
404           IF lv_cvt_req_status='Success'
405           THEN
406             --Submit "Change File Name" concurrent program
407             --to change name of output file
411                                                                    ,pv_ledger_id       => pn_ledger_id
408             FND_FILE.PUT_LINE(FND_FILE.LOG, 'Step 3: Submit File Name Renaming program');
409             lv_output_file_name := Ja_Cn_Utility.Generate_File_name(pv_module_name     => 'APAR'
410                                                                    ,pv_accounting_year => pv_accounting_year
412                                                                    ,pv_from_period     => lv_period_from
413                                                                    ,pv_to_period       => lv_period_to
414                                                                     );
415             JA_CN_UTILITY.Change_Output_Filename(p_xml_request_id       => ln_reqid_pre
416                                                 ,p_destination_charset  => pv_dest_char_set
417                                                 ,p_destination_filename => lv_output_file_name
418                                                 ,x_filename_request_id  => ln_reqid_chg
419                                                 ,x_result_flag          => lv_chg_req_status
420                                                 );
421             IF lv_chg_req_status='Success'
422             THEN
423                 --Submit Payables validation report
424                 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Step 4: Submit Payable Validation Report program');
425                 lb_xml_layout := FND_REQUEST.ADD_LAYOUT(template_appl_name  => 'JA'
426                                                        ,template_code       => 'JACNAPVR'
427                                                        ,template_language   => pv_template_language --'zh' ('en')
428                                                        ,template_territory  => pv_template_territory--'00' ('US')
429                                                        ,output_format       => pv_output_format     --'RTF'('PDF')
430                                                       );
431                 ln_reqid_apv:=FND_REQUEST.Submit_Request(application  => 'JA'
432                                                         ,program      => 'JACNAPVR'
433                                                         ,argument1    => pn_legal_entity_id
434                                                         ,argument2    => pn_ledger_id
435                                                         ,argument3    => pv_accounting_year
436                                                         ,argument4    => lv_period_from
437                                                         ,argument5    => lv_period_to
438                                                         );
439                 COMMIT;
440                 --Waiting for the 'Payables validation report' completed
441                 --get its status
442 
443                 IF ln_reqid_apv<>0
444                 THEN
445 
446                   IF FND_CONCURRENT.Wait_For_Request(request_id   => ln_reqid_apv
447                                                     ,interval     => ln_waiting_interval
448                                                     ,phase        => lv_apv_req_phase
449                                                     ,status       => lv_apv_req_status
450                                                     ,dev_phase    => lv_dev_phase
451                                                     ,dev_status   => lv_dev_status
452                                                     ,message      => lv_message
453                                                     )
454                   THEN
455 
456                     --To get lookup code for current status
457                     SELECT
458                       lookup_code
459                     INTO
460                       lv_apv_req_status_code
461                     FROM
462                       fnd_lookup_values
463                     WHERE lookup_type = 'CP_STATUS_CODE'
464                       AND view_application_id=0
465                       AND security_group_id=0
466                       AND meaning=lv_apv_req_status
467                       AND enabled_flag='Y'
468                       AND language = USERENV('LANG');
469 
470                     --Completed with Normal
471                     IF lv_apv_req_status_code='C'
472                     THEN
473                         --Submit Receivalbes validation report
474                         FND_FILE.PUT_LINE(FND_FILE.LOG, 'Step 5: Submit Receivable Validation Report program');
475                         lb_xml_layout := FND_REQUEST.ADD_LAYOUT(template_appl_name  => 'JA'
476                                                                ,template_code       => 'JACNARRV'
477                                                                ,template_language   => pv_template_language --'zh' ('en')
478                                                                ,template_territory  => pv_template_territory--'00' ('US')
479                                                                ,output_format       => pv_output_format     --'RTF'('PDF')
480                                                               );
481                         ln_reqid_arv:=FND_REQUEST.Submit_Request(application  => 'JA'
482                                                                 ,program      => 'JACNARRV'
483                                                                 ,argument1    => pn_legal_entity_id
484                                                                 ,argument2    => pn_ledger_id
485                                                                 ,argument3    => pv_accounting_year
486                                                                 ,argument4    => lv_period_from
487                                                                 ,argument5    => lv_period_to
488                                                                 );
489                         COMMIT;
490                         --Waiting for the 'Receivables validation report' completed
491                         --get its status
492 
493                         IF ln_reqid_arv<>0
494                         THEN
495 
499                                                             ,status       => lv_arv_req_status
496                           IF FND_CONCURRENT.Wait_For_Request(request_id   => ln_reqid_arv
497                                                             ,interval     => ln_waiting_interval
498                                                             ,phase        => lv_arv_req_phase
500                                                             ,dev_phase    => lv_dev_phase
501                                                             ,dev_status   => lv_dev_status
502                                                             ,message      => lv_message
503                                                             )
504                           THEN
505 
506                             --To get lookup code for current status
507                             SELECT
508                               lookup_code
509                             INTO
510                               lv_arv_req_status_code
511                             FROM
512                               fnd_lookup_values
513                             WHERE lookup_type = 'CP_STATUS_CODE'
514                               AND view_application_id=0
515                               AND security_group_id=0
516                               AND meaning=lv_arv_req_status
517                               AND enabled_flag='Y'
518                               AND language = USERENV('LANG');
519 
520                             --Completed with Normal
521                             IF lv_arv_req_status_code='C'
522                             THEN
523                                NULL;
524                             ELSIF  lv_arv_req_status_code='G'
525                             THEN
526                               lv_error_flag:='W';
527                             ELSIF  lv_arv_req_status_code='E'
528                             THEN
529                               lv_error_flag:='E';
530                             END IF;  --lv_arv_req_status_code='C'
531                           END IF; --FND_CONCURRENT.Wait_For_Request(request_id   => ln_reqid_arv
532                        ELSE
533                          lv_error_flag:='E';
534                        END IF; --ln_reqid_arv<>0
535 
536                     ELSIF  lv_apv_req_status_code='G'
537                     THEN
538                       lv_error_flag:='W';
539                     ELSIF  lv_apv_req_status_code='E'
540                     THEN
541                       lv_error_flag:='E';
542                     END IF;  --lv_apv_req_status_code='C'
543                   END IF; --FND_CONCURRENT.Wait_For_Request(request_id   => ln_reqid_apv
544                ELSE
545                  lv_error_flag:='E';
546                END IF; --ln_reqid_apv<>0
547 
548             ELSIF  lv_chg_req_status='Warning'
549             THEN
550               lv_error_flag:='W';
551             ELSIF  lv_chg_req_status='Error'
552             THEN
553               lv_error_flag:='E';
554             END IF;  --l_chg_req_status='Success'
555 
556           ELSIF lv_cvt_req_status='Warning'
557           THEN
558             lv_error_flag:='W';
559           ELSIF lv_cvt_req_status='Error'
560           THEN
561             lv_error_flag:='E';
562           END IF; --l_cvt_req_status='Success'
563 
564       --Completed with 'Warning'
565       ELSIF lv_pre_status_code='G'
566       THEN
567         lv_error_flag:='W';
568       --Completed with 'Error'
569       ELSIF lv_pre_status_code='E'
570       THEN
571         lv_error_flag:='E';
572       END IF; --lv_pre_status_code='C'
573     END IF; --FND_CONCURRENT.Wait_For_Request(request_id   => l_reqid_pre
574   ELSE
575     lv_error_flag:='E';
576   END IF; --ln_reqid_pre<>0
577 
578   --If any of above  concurrent porgrams is Warning/Failed, set current
579   --program to status 'Warning'/'Error' accordingly.
580   IF lv_error_flag='W'
581   THEN
582     lv_error_status:=FND_CONCURRENT.Set_Completion_Status( status => 'WARNING'
583                                                          , message => ''
584                                                          );
585   ELSIF lv_error_flag='E'
586   THEN
587     lv_error_status:=FND_CONCURRENT.Set_Completion_Status( status => 'ERROR'
588                                                          , message => ''
589                                                          );
590   END IF;  --lv_error_flag='W'
591 
592   --logging for debug
593   IF (ln_proc_level >= ln_dbg_level)
594   THEN
595     FND_LOG.STRING(ln_proc_level,
596                    GV_MODULE_PREFIX || '.' || lv_procedure_name || '.end',
597                    'Exit procedure');
598   END IF; -- (ln_proc_level>=ln_dbg_level)
599 
600 EXCEPTION
601   WHEN OTHERS THEN
602   IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
603   THEN
604     FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
605                    GV_MODULE_PREFIX || '.' || lv_procedure_name ||
606                    '.Other_Exception ',
607                    SQLCODE || SQLERRM);
608   END IF; -- (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
609   FND_FILE.put_line(FND_FILE.log, lv_procedure_name || SQLCODE || SQLERRM);
610 
611 END Submit_Request;
612 
613 END JA_CN_APAR_EXPORT_PROG;