DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_CN_CFS_CONC_PROG

Source


1 PACKAGE BODY JA_CN_CFS_CONC_PROG AS
2   --$Header: JACNCFSB.pls 120.5 2010/09/25 01:30:29 riqi ship $
3   --+=======================================================================+
4   --|               Copyright (c) 2006 Oracle Corporation
5   --|                       Redwood Shores, CA, USA
6   --|                         All rights reserved.
7   --+=======================================================================
8   --| FILENAME
9   --|     JACNCFSB.pls
10   --|
11   --| DESCRIPTION
12   --|
13   --|   This is a wrapper package for submission of cash flow
14   --|   statement related concurrent programs
15   --|
16   --|
17   --| PROCEDURE LIST
18   --|   Cfs_Generate
19   --|   Cfs_Calculate
20   --|   Cfsse_Generate
21   --|   Cfsse_Calculate
22   --|   Collect_Cfs_Data
23   --|
24   --| HISTORY
25   --|   27-Mar-2006     Donghai Wang Created
26   --|   28-Mar-2006     Jackey Li    Add Cfsse_Generate and  Cfsse_Calculate
27   --|   28-Mar-2006     Andrew Liu   Add Collect_Cfs_Data
28   --|   30-Mar-2006     Andrew Liu   Add GL_Validation/Intercompany_Validation
29   --|   26-Jun-2006     Jackey Li    Update Cfsse_Generate
30   --|   1-Sep-2008     Chaoqun Wu  CNAO Enhancement
31   --|                              Updated procedures Calculate_Row_Amount and Calculate_Rows_Amount
32   --|                              Added BSV parameter for CFS-Generation
33   --|   08/09/2008     Yao Zhang   Fix Bug#7334017 for R12 enhancment
34   --|   22-Sep-2008    Chaoqun Wu  CNAO Enhancement for small enterprise
35   --|   20-Sep-2010    Richard Qi  Commented Cfs_Detail_Report for using XML Publisher for this report
36   --|
37   --+======================================================================*/
38   l_module_prefix VARCHAR2(100) := 'JA_CN_CFS_CONC_PROG';
39 
40   --==========================================================================
41   --  PROCEDURE NAME:
42   --
43   --    Cfs_Generate               Public
44   --
45   --  DESCRIPTION:
46   --
47   --      The 'Cfs_Generate' procedure accepts parameters from concurrent program
48   --      'Cash Flow Statement - Generation' and calls another procedure
49   --      'JA_CN_CFS_GENERATE_PKG.Submit_Requests' with parameters after processing.
50   --
51   --  PARAMETERS:
52   --      In: p_legal_entity_id           Identifier of legal entity
53   --                                      for FSG report
54   --          p_set_of_bks_id             Identifier of gl set of book
55   --          p_coa_id                    Identifier of gl chart of account
56   --          p_adhoc_prefix              Ad hoc prefix for FSG report, a required
57   --                                      parameter for FSG report
58   --          p_industry                  Industry with constant value 'C' for
59   --                                      now, a required parameter for FSG report
60   --          p_id_flex_code              ID flex code, a required parameter for
61   --                                      FSG report
62   --          p_report_id                 Identifier of FSG report
63   --          p_period_name               GL period Name
64   --          p_axis_set_id               Identifier of FSG Row Set
65   --          p_colset_id                 Identifier of FSG Column Set, a required
66   --                                      parameter for FSG
67   --          p_rounding_option           Rounding option for amount in Cash Flow
68   --                                      statement
69   --          p_segment_override          Segment override for FSG report
70   --                                      flow statement calculation
71   --          p_accounting_date           Accounting date
72   --          p_parameter_set_id          Parameter set id, a required parameter
73   --                                      for FSG report
74   --          p_max_page_length           Maximum page length
75   --          p_balance_type              Type of balance, available value is
76   --                                      'YTD/QTD/PTD'. a required parameter for
77   --                                       FSG report
78   --          p_internal_trx_flag         To indicate if intercompany transactions
79   --                                      should be involved in amount calculation
80   --                                      of cash flow statement.
81   --          p_xml_template_language     Template language of Cash Flow Statement
82   --          p_xml_template_territory    Template territory of Cash Flow Statement
83   --          p_xml_output_format         Output format of Cash Flow Statement
84   --          p_source_charset            Characterset of input file for characterset
85   --                                      conversion
86   --          p_destination_charset       Characterset of output file for characterset
87   --                                      conversion
88   --          p_source_separator          Separater between fields in input file
89   --                                      for conversion
90   --          p_destination_filename      file name after change
91   --
92   --     Out: errbuf
93   --          retcode
94   --
95   --  DESIGN REFERENCES:
96   --     CNAO_Cashflow_Statement_Generation_TD.doc
97   --
98   --  CHANGE HISTORY:
99   --
100   --      27-Mar-2006     Donghai Wang Created
101   --
102   --=========================================================================
103   PROCEDURE Cfs_Generate(errbuf                  OUT NOCOPY VARCHAR2,
104                          retcode                 OUT NOCOPY VARCHAR2,
105                          p_legal_entity_id       IN NUMBER,
106                          p_ledger_id             IN NUMBER,
107                          P_DATA_ACCESS_SET_ID    IN NUMBER,
108                          p_coa_id                IN NUMBER,
109                          p_adhoc_prefix          IN VARCHAR2,
110                          p_industry              IN VARCHAR2,
111                          p_id_flex_code          IN VARCHAR2,
112                          p_ledger_name           IN VARCHAR2,
113                          p_report_id             IN NUMBER,
114                          p_axis_set_id           IN NUMBER,
115                          p_colset_id             IN NUMBER,
116                          p_period_name           IN VARCHAR2,
117                          p_currency_code         IN VARCHAR2,
118                          p_rounding_option       IN VARCHAR2,
119                          p_segment_override      IN VARCHAR2,
120                          p_content_set_id        IN NUMBER,
121                          P_ROW_ORDER_ID          IN NUMBER,
122                          P_REPORT_DISPLAY_SET_ID IN NUMBER,
123                          p_OUTPUT_OPTION         IN VARCHAR2,
124                          p_EXCEPTIONS_FLAG       IN VARCHAR2,
125                          p_MINIMUM_DISPLAY_LEVEL IN NUMBER,
126                          p_accounting_date       IN VARCHAR2,
127                          p_parameter_set_id      IN NUMBER,
128                          P_PAGE_LENGTH           IN NUMBER,
129                          p_SUBREQUEST_ID         IN NUMBER,
130                          P_APPL_NAME             IN VARCHAR2
131 
132                         ,
133                          p_balance_type IN VARCHAR2
134                          --,p_internal_trx_flag       IN         VARCHAR2
135                         ,
136                          p_xml_template_language  IN VARCHAR2,
137                          p_xml_template_territory IN VARCHAR2,
138                          p_xml_output_format      IN VARCHAR2,
139                          p_source_charset         IN VARCHAR2,
140                          p_destination_charset    IN VARCHAR2,
141                          p_source_separator       IN VARCHAR2,
142                          p_destination_filename   IN VARCHAR2) IS
143     l_error_flag   VARCHAR2(1) := 'N';
144     l_error_status BOOLEAN;
145 
146     l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
147     l_proc_level NUMBER := FND_LOG.Level_Procedure;
148     l_proc_name  VARCHAR2(100) := 'Cfs_Generate';
149 
150   BEGIN
151 
152     --log for debug
153     IF (l_proc_level >= l_dbg_level) THEN
154       FND_LOG.String(l_proc_level,
155                      l_module_prefix || '.' || l_proc_name || '.begin',
156                      'Enter procedure');
157 
158       FND_LOG.String(l_proc_level,
159                      l_module_prefix || '.' || l_proc_name || '.parameters',
160                      'p_legal_entity_id ' || p_legal_entity_id);
161 
162       FND_LOG.String(l_proc_level,
163                      l_module_prefix || '.' || l_proc_name || '.parameters',
164                      'p_ledger_id  ' || p_ledger_id);
165 
166       FND_LOG.String(l_proc_level,
167                      l_module_prefix || '.' || l_proc_name || '.parameters',
168                      'p_coa_id   ' || p_coa_id);
169 
170       FND_LOG.String(l_proc_level,
171                      l_module_prefix || '.' || l_proc_name || '.parameters',
172                      'p_adhoc_prefix ' || p_adhoc_prefix);
173 
174       FND_LOG.String(l_proc_level,
175                      l_module_prefix || '.' || l_proc_name || '.parameters',
176                      'p_industry ' || p_industry);
177 
178       FND_LOG.String(l_proc_level,
179                      l_module_prefix || '.' || l_proc_name || '.parameters',
180                      'p_id_flex_code ' || p_id_flex_code);
181 
182       FND_LOG.String(l_proc_level,
183                      l_module_prefix || '.' || l_proc_name || '.parameters',
184                      'p_report_id ' || p_report_id);
185 
186       FND_LOG.String(l_proc_level,
187                      l_module_prefix || '.' || l_proc_name || '.parameters',
188                      'p_period_name ' || p_period_name);
189 
190       FND_LOG.String(l_proc_level,
191                      l_module_prefix || '.' || l_proc_name || '.parameters',
192                      'p_axis_set_id ' || p_axis_set_id);
193 
194       FND_LOG.String(l_proc_level,
195                      l_module_prefix || '.' || l_proc_name || '.parameters',
196                      'p_colset_id ' || p_colset_id);
197 
198       FND_LOG.String(l_proc_level,
199                      l_module_prefix || '.' || l_proc_name || '.parameters',
200                      'p_rounding_option ' || p_rounding_option);
201 
202       FND_LOG.String(l_proc_level,
203                      l_module_prefix || '.' || l_proc_name || '.parameters',
204                      'p_segment_override ' || p_segment_override);
205 
206       FND_LOG.String(l_proc_level,
207                      l_module_prefix || '.' || l_proc_name || '.parameters',
208                      'p_accounting_date ' || p_accounting_date);
209 
210       FND_LOG.String(l_proc_level,
211                      l_module_prefix || '.' || l_proc_name || '.parameters',
212                      'p_parameter_set_id ' || p_parameter_set_id);
213 
214       FND_LOG.String(l_proc_level,
215                      l_module_prefix || '.' || l_proc_name || '.parameters',
216                      'P_PAGE_LENGTH ' || P_PAGE_LENGTH);
217 
218       FND_LOG.String(l_proc_level,
219                      l_module_prefix || '.' || l_proc_name || '.parameters',
220                      'p_balance_type ' || p_balance_type);
221 
222       /*    FND_LOG.String(l_proc_level
223       ,l_module_prefix||'.'||l_proc_name||'.parameters'
224       ,'p_internal_trx_flag '||p_internal_trx_flag
225       );*/
226 
227       FND_LOG.String(l_proc_level,
228                      l_module_prefix || '.' || l_proc_name || '.parameters',
229                      'p_xml_template_language ' || p_xml_template_language);
230 
231       FND_LOG.String(l_proc_level,
232                      l_module_prefix || '.' || l_proc_name || '.parameters',
233                      'p_xml_template_territory  ' ||
234                      p_xml_template_territory);
235 
236       FND_LOG.String(l_proc_level,
237                      l_module_prefix || '.' || l_proc_name || '.parameters',
238                      'p_xml_output_format  ' || p_xml_output_format);
239 
240       FND_LOG.String(l_proc_level,
241                      l_module_prefix || '.' || l_proc_name || '.parameters',
242                      'p_source_charset ' || p_source_charset);
243 
244       FND_LOG.String(l_proc_level,
245                      l_module_prefix || '.' || l_proc_name || '.parameters',
246                      'p_destination_charset ' || p_destination_charset);
247 
248       FND_LOG.String(l_proc_level,
249                      l_module_prefix || '.' || l_proc_name || '.parameters',
250                      'p_source_separator ' || p_source_separator);
251 
252       FND_LOG.String(l_proc_level,
253                      l_module_prefix || '.' || l_proc_name || '.parameters',
254                      'p_destination_filename ' || p_destination_filename);
255     END IF; --(l_proc_level >= l_dbg_level)
256 
257     --Call the functon JA_CN_UTILITY.Check_Profile to check if all required profiles has been
258     -- properly set for current responsibility. If No, the function will raise corresponding error
259     --messages, and the concurrent program will not continue performing next logics,these required
260     --profiles include ' JG: Product', which should be set to 'Asia/Pacific Localizations',
261     --'JG: Territory', which should be set to 'China' and 'JA: CNAO Legal Entity', which should be
262     --NOT NULL
263     IF JA_CN_UTILITY.Check_Profile THEN
264 
265       JA_CN_CFS_GENERATE_PKG.Submit_Requests(p_legal_entity_id,
266                                              p_ledger_id,
267                                              P_DATA_ACCESS_SET_ID,
268                                              p_coa_id,
269                                              p_adhoc_prefix,
270                                              p_industry,
271                                              p_id_flex_code,
272                                              p_ledger_name,
273                                              p_report_id,
274                                              p_axis_set_id,
275                                              p_colset_id,
276                                              p_period_name,
277                                              p_currency_code,
278                                              p_rounding_option,
279                                              p_segment_override,
280                                              p_content_set_id,
281                                              P_ROW_ORDER_ID,
282                                              P_REPORT_DISPLAY_SET_ID,
283                                              p_OUTPUT_OPTION,
284                                              p_EXCEPTIONS_FLAG,
285                                              p_MINIMUM_DISPLAY_LEVEL,
286                                              p_accounting_date,
287                                              p_parameter_set_id,
288                                              P_PAGE_LENGTH,
289                                              p_SUBREQUEST_ID,
290                                              P_APPL_NAME
291 
292                                             ,
293                                              p_balance_type
294                                              --,p_internal_trx_flag       IN         VARCHAR2
295                                             ,
296                                              p_xml_template_language,
297                                              p_xml_template_territory,
298                                              p_xml_output_format,
299                                              p_source_charset,
300                                              p_destination_charset,
301                                              p_source_separator,
302                                              p_destination_filename);
303 
304     ELSE
305       l_error_flag := 'Y';
306     END IF; --JA_CN_UTILITY.Check_Profile
307 
308     --If above check failed, then set status of concurrent program as warning
309 
310     IF l_error_flag = 'Y' THEN
311       l_error_status := FND_CONCURRENT.Set_Completion_Status(status  => 'WARNING',
312                                                              message => '');
313 
314     END IF; --JA_CN_UTILITY.Check_Profile
315     --log for debug
316     IF (l_proc_level >= l_dbg_level) THEN
317       FND_LOG.STRING(l_proc_level,
318                      l_module_prefix || '.' || l_proc_name || '.end',
319                      'Exit procedure');
320     END IF; --( l_proc_level >= l_dbg_level )
321 
322   EXCEPTION
323     WHEN OTHERS THEN
324       IF (l_proc_level >= l_dbg_level) THEN
325         FND_LOG.String(l_proc_level,
326                        l_module_prefix || '.' || l_proc_name ||
327                        '. Other_Exception ',
328                        SQLCODE || ':' || SQLERRM);
329       END IF; --(l_proc_level >= l_dbg_level)
330 
331   END Cfs_Generate;
332 
333   --==========================================================================
334   --  PROCEDURE NAME:
335   --
336   --    Cfs_Calculate                  Public
337   --
338   --  DESCRIPTION:
339   --
340   --      The 'Cfs_Calculate' procedure accepts parameters from concurrent program
341   --      'Cash Flow Statement -Calcluation' and calls another procedure
342   --      'JA_CN_CFS_CALCULATE_PKG.Generate_Cfs_Xml' with parameters after processing.
343   --
344   --  PARAMETERS:
345   --      In: p_legal_entity_id           Identifier of legal entity
346   --          p_set_of_bks_id             Identifier of GL set of book, a required
347   --                                      parameter for FSG report
348   --          p_period_name               GL period Name
349   --          p_axis_set_id               Identifier of FSG Row Set
350   --          p_rounding_option           Rounding option for amount in Cash Flow statement
351   --          p_balance_type              Type of balance, available value is
352   --                                      'YTD/QTD/PTD'. a required parameter for FSG
353   --                                      report
354   --          p_internal_trx_flag         To indicate if intercompany transactions
355   --                                      should be involved in amount calculation
356   --                                      of cash flow statement.
357   --
358   --     Out: errbuf
359   --          retcode
360   --
361   --
362   --  DESIGN REFERENCES:
363   --     CNAO_Cashflow_Statement_Generation_TD.doc
364   --
365   --  CHANGE HISTORY:
366   --
367   --      27-Mar-2006     Donghai Wang Created
368   --      1-Sep-2008      Chaoqun Wu CNAO Enhancement
369   --
370   --===========================================================================
371   PROCEDURE Cfs_Calculate(errbuf            OUT NOCOPY VARCHAR2,
372                           retcode           OUT NOCOPY VARCHAR2,
373                           p_legal_entity_id IN NUMBER,
374                           p_ledger_id       IN NUMBER,
375                           p_period_name     IN VARCHAR2,
376                           p_axis_set_id     IN NUMBER,
377                           p_rounding_option IN VARCHAR2,
378                           p_balance_type    IN VARCHAR2
379                           --,p_internal_trx_flag       IN         VARCHAR2
380                          ,p_coa IN NUMBER
381                          ,p_segment_override IN VARCHAR2 -- Added for CNAO Enhancement
382                          ) IS
383     l_error_status BOOLEAN;
384     l_dbg_level    NUMBER := FND_LOG.G_Current_Runtime_Level;
385     l_proc_level   NUMBER := FND_LOG.Level_Procedure;
386     l_proc_name    VARCHAR2(100) := 'Cfs_Calculate';
387 
388   BEGIN
389 
390     --log for debug
391     IF (l_proc_level >= l_dbg_level) THEN
392       FND_LOG.String(l_proc_level,
393                      l_module_prefix || '.' || l_proc_name || '.begin',
394                      'Enter procedure');
395 
396       FND_LOG.String(l_proc_level,
397                      l_module_prefix || '.' || l_proc_name || '.parameters',
398                      'p_legal_entity_id ' || p_legal_entity_id);
399 
400       FND_LOG.String(l_proc_level,
401                      l_module_prefix || '.' || l_proc_name || '.parameters',
402                      'p_ledger_id ' || p_ledger_id);
403 
404       FND_LOG.String(l_proc_level,
405                      l_module_prefix || '.' || l_proc_name || '.parameters',
406                      'p_period_name ' || p_period_name);
407 
408       FND_LOG.String(l_proc_level,
409                      l_module_prefix || '.' || l_proc_name || '.parameters',
410                      'p_axis_set_id ' || p_axis_set_id);
411 
412       FND_LOG.String(l_proc_level,
413                      l_module_prefix || '.' || l_proc_name || '.parameters',
414                      'p_rounding_option ' || p_rounding_option);
415 
416       FND_LOG.String(l_proc_level,
417                      l_module_prefix || '.' || l_proc_name || '.parameters',
418                      'p_balance_type ' || p_balance_type);
419 
420       FND_LOG.String(l_proc_level,                                          --Added for CNAO Enhancement
421                      l_module_prefix || '.' || l_proc_name || '.parameters',
422                      'p_segmment_override ' || p_segment_override);
423 
424       /*    FND_LOG.String(l_proc_level
425       ,l_module_prefix||'.'||l_proc_name||'.parameters'
426       ,'p_internal_trx_flag '||p_internal_trx_flag
427       );*/
428 
429     END IF; --(l_proc_level >= l_dbg_level)
430 
431     --Call the functon JA_CN_CFS_UTILITY.Check_Profile to check if all required profiles has been
432     -- properly set for current responsibility. If No, the function will raise corresponding error
433     --messages, and the concurrent program will not continue performing next logics,these required
434     --profiles include ' JG: Product', which should be set to 'Asia/Pacific Localizations',
435     --'JG: Territory', which should be set to 'China' and 'JA: CNAO Legal Entity', which should be
436     --NOT NULL
437     IF JA_CN_UTILITY.Check_Profile THEN
438       JA_CN_CFS_CALCULATE_PKG.Generate_Cfs_Xml(p_legal_entity_id => p_legal_entity_id,
439                                                p_ledger_id       => p_ledger_id,
440                                                p_period_name     => p_period_name,
441                                                p_axis_set_id     => p_axis_set_id,
442                                                p_rounding_option => p_rounding_option,
443                                                p_balance_type    => p_balance_type
444                                                --,p_internal_trx_flag                  => p_internal_trx_flag
445                                               ,p_coa => p_coa
446                                               ,p_segment_override => p_segment_override -- Added for CNAO Enhancement
447                                               );
448     ELSE
449       --If above check failed, then set status of concurrent program as warning
450       l_error_status := FND_CONCURRENT.Set_Completion_Status(status  => 'WARNING',
451                                                              message => '');
452     END IF; --JA_CN_UTILITY.Check_Profile
453 
454     --log for debug
455     IF (l_proc_level >= l_dbg_level) THEN
456       FND_LOG.STRING(l_proc_level,
457                      l_module_prefix || '.' || l_proc_name || '.end',
458                      'Exit procedure');
459     END IF; --( l_proc_level >= l_dbg_level )
460 
461   EXCEPTION
462     WHEN OTHERS THEN
463       IF (l_proc_level >= l_dbg_level) THEN
464         FND_LOG.String(l_proc_level,
465                        l_module_prefix || '.' || l_proc_name ||
466                        '. Other_Exception ',
467                        SQLCODE || ':' || SQLERRM);
468       END IF; --(l_proc_level >= l_dbg_level)
469 
470   END Cfs_Calculate;
471 
472   --==========================================================================
473   --  PROCEDURE NAME:
474   --    Cfsse_Generate                     Public
475   --
476   --  DESCRIPTION:
477   --      This procedure accepts parameters from concurrent program
478   --      'Cash Flow Statement for small enterprise- Generation' and
479   --      calls another procedure 'JA_CN_CFSSE_GENERATE_PKG.Submit_Requests'
480   --      with parameters after processing.
481   --
482   --  PARAMETERS:
483   --      In: p_legal_entity_id                legal entity ID
484   --          p_set_of_bks_id                  set of books ID
485   --          p_coa_id                         Chart of Accounts ID
486   --          p_adhoc_prefix                   Ad hoc prefix for FSG report
487   --          p_industry                       Industry with constant value 'C'
488   --          p_id_flex_code                   ID flex code
489   --          p_report_id                      FSG report id
490   --          p_perid_name                     GL period Name
491   --          p_rowset_id                      FSG report row Set ID
492   --          p_colset_id                      FSG report column Set ID
493   --          p_rounding_option                Rounding option
494   --          p_segment_override               Segment override
495   --          p_accounting_date                Accounting date
496   --          p_parameter_set_id               Parameter set id
497   --          p_max_page_length                Maximum page length
498   --          p_balance_type                   Type of balance
499   --          p_internal_trx_flag              intercompany transactions flag
500 
501   --     Out: errbuf
502   --          retcode
503   --
504   --  DESIGN REFERENCES:
505   --      CNAO_Cashflow_Statement_Generation(SE)_TD.doc
506   --
507   --  CHANGE HISTORY:
508   --      03/29/2006      Jackey Li          Created
509   --      06/26/2006      Jackey Li      Add seven parameters
510   --      04/29/2007      Joy liu        updated by lyb
511   --     change parameter p_set_of_bks_id to  p_ledger_id,
512   --     some places has been updated.
513   --===========================================================================
514   PROCEDURE Cfsse_Generate(errbuf                  OUT NOCOPY VARCHAR2,
515                          retcode                 OUT NOCOPY VARCHAR2,
516                          p_legal_entity_id       IN NUMBER,
517                          p_ledger_id             IN NUMBER,
518                          P_DATA_ACCESS_SET_ID    IN NUMBER,
519                          p_coa_id                IN NUMBER,
520                          p_adhoc_prefix          IN VARCHAR2,
521                          p_industry              IN VARCHAR2,
522                          p_id_flex_code          IN VARCHAR2,
523                          p_ledger_name           IN VARCHAR2,
524                          p_report_id             IN NUMBER,
525                          p_axis_set_id           IN NUMBER,
526                          p_colset_id             IN NUMBER,
527                          p_period_name           IN VARCHAR2,
528                          p_currency_code         IN VARCHAR2,
529                          p_rounding_option       IN VARCHAR2,
530                          p_segment_override      IN VARCHAR2,
531                          p_content_set_id        IN NUMBER,
532                          P_ROW_ORDER_ID          IN NUMBER,
533                          P_REPORT_DISPLAY_SET_ID IN NUMBER,
534                          p_OUTPUT_OPTION         IN VARCHAR2,
535                          p_EXCEPTIONS_FLAG       IN VARCHAR2,
536                          p_MINIMUM_DISPLAY_LEVEL IN NUMBER,
537                          p_accounting_date       IN VARCHAR2,
538                          p_parameter_set_id      IN NUMBER,
539                          P_PAGE_LENGTH           IN NUMBER,
540                          p_SUBREQUEST_ID         IN NUMBER,
541                          P_APPL_NAME             IN VARCHAR2
542 
543                         ,
544                          p_balance_type IN VARCHAR2
545                          --,p_internal_trx_flag       IN         VARCHAR2
546                         ,
547                          p_xml_template_language  IN VARCHAR2,
548                          p_xml_template_territory IN VARCHAR2,
549                          p_xml_output_format      IN VARCHAR2,
550                          p_source_charset         IN VARCHAR2,
551                          p_destination_charset    IN VARCHAR2,
552                          p_source_separator       IN VARCHAR2,
553                          p_destination_filename   IN VARCHAR2) IS
554 
555     l_accounting_date DATE := FND_DATE.Canonical_To_Date(p_accounting_date);
556    -- l_sets_of_bks_id  gl_sets_of_books.set_of_books_id%TYPE;
557     --l_coa_id          gl_sets_of_books.chart_of_accounts_id%TYPE;
558     l_flag            NUMBER;
559     l_error_flag      VARCHAR2(1) := 'N';
560     l_error_status    BOOLEAN;
561 
562     l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
563     l_proc_level NUMBER := FND_LOG.Level_Procedure;
564     l_proc_name  VARCHAR2(100) := 'Cfsse_Generate';
565 
566   BEGIN
567     --log for debug
568     IF (l_proc_level >= l_dbg_level)
569     THEN
570      FND_LOG.String(l_proc_level,
571                      l_module_prefix || '.' || l_proc_name || '.begin',
572                      'Enter procedure');
573 
574       FND_LOG.String(l_proc_level,
575                      l_module_prefix || '.' || l_proc_name || '.parameters',
576                      'p_legal_entity_id ' || p_legal_entity_id);
577 
578       FND_LOG.String(l_proc_level,
579                      l_module_prefix || '.' || l_proc_name || '.parameters',
580                      'p_ledger_id  ' || p_ledger_id);
581 
582       FND_LOG.String(l_proc_level,
583                      l_module_prefix || '.' || l_proc_name || '.parameters',
584                      'p_coa_id   ' || p_coa_id);
585 
586       FND_LOG.String(l_proc_level,
587                      l_module_prefix || '.' || l_proc_name || '.parameters',
588                      'p_adhoc_prefix ' || p_adhoc_prefix);
589 
590       FND_LOG.String(l_proc_level,
591                      l_module_prefix || '.' || l_proc_name || '.parameters',
592                      'p_industry ' || p_industry);
593 
594       FND_LOG.String(l_proc_level,
595                      l_module_prefix || '.' || l_proc_name || '.parameters',
596                      'p_id_flex_code ' || p_id_flex_code);
597 
598       FND_LOG.String(l_proc_level,
599                      l_module_prefix || '.' || l_proc_name || '.parameters',
600                      'p_report_id ' || p_report_id);
601 
602       FND_LOG.String(l_proc_level,
603                      l_module_prefix || '.' || l_proc_name || '.parameters',
604                      'p_period_name ' || p_period_name);
605 
606       FND_LOG.String(l_proc_level,
607                      l_module_prefix || '.' || l_proc_name || '.parameters',
608                      'p_axis_set_id ' || p_axis_set_id);
609 
610       FND_LOG.String(l_proc_level,
611                      l_module_prefix || '.' || l_proc_name || '.parameters',
612                      'p_colset_id ' || p_colset_id);
613 
614       FND_LOG.String(l_proc_level,
615                      l_module_prefix || '.' || l_proc_name || '.parameters',
616                      'p_rounding_option ' || p_rounding_option);
617 
618       FND_LOG.String(l_proc_level,
619                      l_module_prefix || '.' || l_proc_name || '.parameters',
620                      'p_segment_override ' || p_segment_override);
621 
622       FND_LOG.String(l_proc_level,
623                      l_module_prefix || '.' || l_proc_name || '.parameters',
624                      'p_accounting_date ' || p_accounting_date);
625 
626       FND_LOG.String(l_proc_level,
627                      l_module_prefix || '.' || l_proc_name || '.parameters',
628                      'p_parameter_set_id ' || p_parameter_set_id);
629 
630       FND_LOG.String(l_proc_level,
631                      l_module_prefix || '.' || l_proc_name || '.parameters',
632                      'P_PAGE_LENGTH ' || P_PAGE_LENGTH);
633 
634       FND_LOG.String(l_proc_level,
635                      l_module_prefix || '.' || l_proc_name || '.parameters',
636                      'p_balance_type ' || p_balance_type);
637 
638       /*    FND_LOG.String(l_proc_level
639       ,l_module_prefix||'.'||l_proc_name||'.parameters'
640       ,'p_internal_trx_flag '||p_internal_trx_flag
641       );*/
642 
643       FND_LOG.String(l_proc_level,
644                      l_module_prefix || '.' || l_proc_name || '.parameters',
645                      'p_xml_template_language ' || p_xml_template_language);
646 
647       FND_LOG.String(l_proc_level,
648                      l_module_prefix || '.' || l_proc_name || '.parameters',
649                      'p_xml_template_territory  ' ||
650                      p_xml_template_territory);
651 
652       FND_LOG.String(l_proc_level,
653                      l_module_prefix || '.' || l_proc_name || '.parameters',
654                      'p_xml_output_format  ' || p_xml_output_format);
655 
656       FND_LOG.String(l_proc_level,
657                      l_module_prefix || '.' || l_proc_name || '.parameters',
658                      'p_source_charset ' || p_source_charset);
659 
660       FND_LOG.String(l_proc_level,
661                      l_module_prefix || '.' || l_proc_name || '.parameters',
662                      'p_destination_charset ' || p_destination_charset);
663 
664       FND_LOG.String(l_proc_level,
665                      l_module_prefix || '.' || l_proc_name || '.parameters',
666                      'p_source_separator ' || p_source_separator);
667 
668       FND_LOG.String(l_proc_level,
669                      l_module_prefix || '.' || l_proc_name || '.parameters',
670                      'p_destination_filename ' || p_destination_filename);
671     END IF; --(l_proc_level >= l_dbg_level)
672 
673     IF JA_CN_UTILITY.Check_Profile
674     THEN
675 
676       --To get gl set of book and chart of account for current legal entity
677 /*      JA_CN_UTILITY.Get_SOB_And_COA(p_legal_entity_id => p_legal_entity_id,
678                                     x_sob_id          => l_sets_of_bks_id,
679                                     x_coa_id          => l_coa_id,
680                                     x_flag            => l_flag);
681       IF l_flag = 0
682       THEN*/
683         FND_FILE.Put_Line(FND_FILE.LOG,
684                           'Submit actual CFS SE Generation Concurrent.');
685 
686         FND_FILE.Put_Line(FND_FILE.LOG,
687                           'Start');
688 
689         JA_CN_CFSSE_GENERATE_PKG.Submit_Requests(p_legal_entity_id,
690                                              p_ledger_id,
691                                              P_DATA_ACCESS_SET_ID,
692                                              p_coa_id,
693                                              p_adhoc_prefix,
694                                              p_industry,
695                                              p_id_flex_code,
696                                              p_ledger_name,
697                                              p_report_id,
698                                              p_axis_set_id,
699                                              p_colset_id,
700                                              p_period_name,
701                                              p_currency_code,
702                                              p_rounding_option,
703                                              p_segment_override,
704                                              p_content_set_id,
705                                              P_ROW_ORDER_ID,
706                                              P_REPORT_DISPLAY_SET_ID,
707                                              p_OUTPUT_OPTION,
708                                              p_EXCEPTIONS_FLAG,
709                                              p_MINIMUM_DISPLAY_LEVEL,
710                                              p_accounting_date,
711                                              p_parameter_set_id,
712                                              P_PAGE_LENGTH,
713                                              p_SUBREQUEST_ID,
714                                              P_APPL_NAME
715 
716                                             ,
717                                              p_balance_type
718                                              --,p_internal_trx_flag       IN         VARCHAR2
719                                             ,
720                                              p_xml_template_language,
721                                              p_xml_template_territory,
722                                              p_xml_output_format,
723                                              p_source_charset,
724                                              p_destination_charset,
725                                              p_source_separator,
726                                              p_destination_filename);
727         FND_FILE.Put_Line(FND_FILE.LOG,
728                           'Complete');
729 /*      ELSE
730         l_error_flag := 'Y';
731         --output error message
732         FND_MESSAGE.Set_Name('JA',
733                              'JA_CN_MISSING_BOOK_INFO');
734         FND_FILE.Put_Line(FND_FILE.Output,
735                           FND_MESSAGE.Get);
736       END IF; --l_flag=0*/
737     ELSE
738       l_error_flag := 'Y';
739     END IF; --JA_CN_UTILITY.Check_Profile
740 
741     --If above check failed, then set status of concurrent program as warning
742 
743     IF l_error_flag = 'Y'
744     THEN
745       l_error_status := FND_CONCURRENT.Set_Completion_Status(status  => 'WARNING',
746                                                              message => '');
747 
748     END IF; --l_error_flag = 'Y'
749 
750     --log for debug
751     IF (l_proc_level >= l_dbg_level)
752     THEN
753       FND_LOG.STRING(l_proc_level,
754                      l_module_prefix || '.' || l_proc_name || '.end',
755                      'Exit procedure');
756     END IF; --( l_proc_level >= l_dbg_level )
757 
758   EXCEPTION
759     WHEN OTHERS THEN
760       IF (l_proc_level >= l_dbg_level)
761       THEN
762         FND_LOG.STRING(l_proc_level,
763                        l_module_prefix || '.' || l_proc_name ||
764                        '. Other_Exception ',
765                        SQLCODE || ':' || SQLERRM);
766       END IF; --(l_proc_level >= l_dbg_level)
767 
768   END Cfsse_Generate;
769 
770   --==========================================================================
771   --  PROCEDURE NAME:
772   --    Cfsse_Calculate                  Public
773   --
774   --  DESCRIPTION:
775   --      This procedure accepts parameters from concurrent program
776   --      'Cash Flow Statement for small enterprise -Calcluation'
777   --      and calls another procedure 'JA_CN_CFS_CALCULATE_PKG.Generate_Cfs_Xml'
778   --       with parameters after processing.
779   --
780   --  PARAMETERS:
781   --      In: p_legal_entity_id           legal entity ID
782   --          p_period_name               period name
783   --          p_axis_set_id               axis set id
784   --          p_rounding_option           rounding option
785   --          p_balance_type              balance type
786   --          p_internal_trx_flag         is intercompany transactions
787   --
788   --     Out: errbuf
789   --          retcode
790   --
791   --  DESIGN REFERENCES:
792   --      CNAO_Cashflow_Statement_Generation(SE)_TD.doc
793   --
794   --  CHANGE HISTORY:
795   --      03/29/2006      Jackey Li          Created
796   --===========================================================================
797   PROCEDURE Cfsse_Calculate(ERRBUF              OUT NOCOPY VARCHAR2
798                            ,RETCODE             OUT NOCOPY VARCHAR2
799                            ,p_legal_entity_id   IN NUMBER
800                            ,p_ledger_id     IN NUMBER
801                            ,p_period_name       IN VARCHAR2
802                            ,p_axis_set_id       IN NUMBER
803                            ,p_rounding_option   IN VARCHAR2
804                            ,p_balance_type      IN VARCHAR2
805                            --,p_internal_trx_flag IN VARCHAR2 --updated by lyb
806                            ,p_coa               IN number
807                            ,p_segment_override IN VARCHAR2) IS -- Added for CNAO Enhancement
808 
809    -- l_sob_id       gl_sets_of_books.set_of_books_id%TYPE;--updated by lyb
810    -- l_coa_id       gl_sets_of_books.chart_of_accounts_id%TYPE;--updated by lyb
811     l_flag         NUMBER;
812     l_error_flag   VARCHAR2(1) := 'N';
813     l_error_status BOOLEAN;
814 
815     l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
816     l_proc_level NUMBER := FND_LOG.Level_Procedure;
817     l_proc_name  VARCHAR2(100) := 'Cfsse_Calculate';
818 
819   BEGIN
820     --log for debug
821     IF (l_proc_level >= l_dbg_level)
822     THEN
823       FND_LOG.STRING(l_proc_level,
824                      l_module_prefix || '.' || l_proc_name || '.begin',
825                      'Enter procedure');
826 
827       FND_LOG.STRING(l_proc_level,
828                      l_module_prefix || '.' || l_proc_name || '.parameters',
829                      'p_legal_entity_id ' || p_legal_entity_id);
830       FND_LOG.STRING(l_proc_level,
831                      l_module_prefix || '.' || l_proc_name || '.parameters',
832                      'p_period_name ' || p_period_name);
833 
834       FND_LOG.STRING(l_proc_level,
835                      l_module_prefix || '.' || l_proc_name || '.parameters',
836                      'p_axis_set_id ' || p_axis_set_id);
837 
838       FND_LOG.STRING(l_proc_level,
839                      l_module_prefix || '.' || l_proc_name || '.parameters',
840                      'p_rounding_option ' || p_rounding_option);
841 
842       FND_LOG.STRING(l_proc_level,
843                      l_module_prefix || '.' || l_proc_name || '.parameters',
844                      'p_balance_type ' || p_balance_type);
845 
846 /*      FND_LOG.STRING(l_proc_level,
847                      l_module_prefix || '.' || l_proc_name || '.parameters',
848                      'p_internal_trx_flag ' || p_internal_trx_flag) ;*/
849     END IF; --(l_proc_level >= l_dbg_level)
850 
851     IF JA_CN_UTILITY.Check_Profile
852     THEN
853 
854       --To get gl set of book and chart of account for current legal entity
855 /*      JA_CN_UTILITY.Get_SOB_And_COA(p_legal_entity_id => p_legal_entity_id,
856                                     x_sob_id          => l_sob_id,
857                                     x_coa_id          => l_coa_id,
858                                     x_flag            => l_flag);
859       IF l_flag = 0
860       THEN*/
861 
862         FND_FILE.Put_Line(FND_FILE.LOG,
863                           'Submit actual CFS SE Calculation Concurrent.');
864 
865         FND_FILE.Put_Line(FND_FILE.LOG,
866                           'Start');
867 
868         JA_CN_CFSSE_CALCULATE_PKG.Generate_Cfs_Xml(p_legal_entity_id
869                                                   ,p_ledger_id
870                                                   ,p_period_name
871                                                   ,p_axis_set_id
872                                                   ,p_rounding_option
873                                                   ,p_balance_type
874                                                  -- ,p_internal_trx_flag IN VARCHAR2
875                                                   ,p_coa
876                                                   ,p_segment_override => p_segment_override); -- Added for CNAO Enhancement
877 
878         FND_FILE.Put_Line(FND_FILE.LOG,
879                           'Complete');
880 /*      ELSE
881         l_error_flag := 'Y';
882         --output error message
883         FND_MESSAGE.Set_Name('JA',
884                              'JA_CN_MISSING_BOOK_INFO');
885         FND_FILE.Put_Line(FND_FILE.Output,
886                           FND_MESSAGE.Get);
887       END IF; --l_flag=0*/
888     ELSE
889       l_error_flag := 'Y';
890     END IF; --JA_CN_UTILITY.Check_Profile
891 
892     --If above check failed, then set status of concurrent program as warning
893 
894     IF l_error_flag = 'Y'
895     THEN
896       l_error_status := FND_CONCURRENT.Set_Completion_Status(status  => 'WARNING',
897                                                              message => '');
898 
899     END IF; --l_error_flag = 'Y'
900 
901     --log for debug
902     IF (l_proc_level >= l_dbg_level)
903     THEN
904       FND_LOG.STRING(l_proc_level,
905                      l_module_prefix || '.' || l_proc_name || '.end',
906                      'Exit procedure');
907     END IF; --( l_proc_level >= l_dbg_level )
908 
909   EXCEPTION
910     WHEN OTHERS THEN
911       IF (l_proc_level >= l_dbg_level)
912       THEN
913         FND_LOG.STRING(l_proc_level,
914                        l_module_prefix || '.' || l_proc_name ||
915                        '. Other_Exception ',
916                        SQLCODE || ':' || SQLERRM);
917       END IF; --(l_proc_level >= l_dbg_level)
918 
919   END Cfsse_Calculate;
920 
921 
922   --==========================================================================
923   --  PROCEDURE NAME:
924   --    Collect_Cfs_Data              public
925   --
926   --  DESCRIPTION:
927   --      This procedure checks year of FROM/TO periods and then collects
928   --      CFS Data from GL/Intercompany/AR/AP.
929   --
930   --  PARAMETERS:
931   --      Out: errbuf                 NOCOPY VARCHAR2
932   --      Out: retcode                NOCOPY VARCHAR2
933   --      In:,P_COA_ID                NUMBER              ID of chart of account
934   --      In: P_LE_ID                 NUMBER              ID of Legal Entity
935   --      In: P_GL_PERIOD_FROM        VARCHAR2            Start period
936   --      In: P_GL_PERIOD_TO          VARCHAR2            End period
937   --      In: P_SOURCE                VARCHAR2            Source of the collection
938   --      In: P_DFT_ITEM              VARCHAR2            default CFS item
939   --
940   --  DESIGN REFERENCES:
941   --      None
942   --
943   --  CHANGE HISTORY:
944   --      03/01/2006     Andrew Liu          Created
945   --===========================================================================
946   PROCEDURE Collect_Cfs_Data(errbuf           OUT NOCOPY VARCHAR2,
947                              retcode          OUT NOCOPY VARCHAR2,
948                              P_COA_ID         IN NUMBER,
949                              P_LE_ID          IN NUMBER,
950                              p_LEDGER_ID      IN NUMBER,
951                              P_GL_PERIOD_FROM IN VARCHAR2,
952                              P_GL_PERIOD_TO   IN VARCHAR2,
953                              P_SOURCE         IN VARCHAR2) IS
954     l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
955     l_proc_level NUMBER := FND_LOG.Level_Procedure;
956     l_proc_name  VARCHAR2(100) := 'Collect_Cfs_Data';
957     l_flag       VARCHAR2(15); --populate the ledger and the legal entity flag
958 
959     JA_CN_INVALID_GLPERIOD exception;
960     l_msg_invalid_glperiod varchar2(2000); --'The from period and to period should be within one accounting year.';
961 
962     l_sob_coa_flag NUMBER;
963     l_account_type_code FND_LOOKUP_VALUES.LOOKUP_CODE%TYPE;
964 
965     l_period_set_name GL_LEDGERS.period_set_name%TYPE;
966     l_year_from       NUMBER;
967     l_year_to         NUMBER;
968   BEGIN
969     --log for debug
970     IF (l_proc_level >= l_dbg_level) THEN
971       FND_LOG.String(l_proc_level,
972                      l_module_prefix || '.' || l_proc_name || '.begin',
973                      'Enter procedure');
974       FND_LOG.String(l_proc_level,
975                      l_module_prefix || '.' || l_proc_name || '.parameters',
976                      'P_LE_ID ' || P_LE_ID);
977       FND_LOG.String(l_proc_level,
978                      l_module_prefix || '.' || l_proc_name || '.parameters',
979                      'P_GL_PERIOD_FROM ' || P_GL_PERIOD_FROM);
980       FND_LOG.String(l_proc_level,
981                      l_module_prefix || '.' || l_proc_name || '.parameters',
982                      'P_GL_PERIOD_TO ' || P_GL_PERIOD_TO);
983       FND_LOG.String(l_proc_level,
984                      l_module_prefix || '.' || l_proc_name || '.parameters',
985                      'P_SOURCE ' || P_SOURCE);
986     END IF; --(l_proc_level >= l_dbg_level)
987 
988          --Check Profile
989         IF NOT(JA_CN_UTILITY.Check_Profile)
990         THEN
991           retcode := 1;
992           errbuf  := '';
993           RETURN;
994         END IF;
995     l_flag := Ja_Cn_Utility.Populate_Ledger_Le_Bsv_Gt(p_LEDGER_ID,
996                                                      P_LE_ID);
997 
998     IF l_flag = 'S' THEN
999 
1000     --Get Period set name, Year_From and Year_To
1001     BEGIN
1002       SELECT LEDGER.PERIOD_SET_NAME, GP1.period_year, GP2.period_year
1003         INTO l_period_set_name, l_year_from, l_year_to
1004         FROM GL_LEDGERS LEDGER, gl_periods GP1, gl_periods GP2
1005        WHERE LEDGER.Ledger_Id = p_LEDGER_ID
1006          AND GP1.PERIOD_SET_NAME = LEDGER.PERIOD_SET_NAME
1007          AND GP1.period_name = P_GL_PERIOD_FROM
1008          AND GP2.PERIOD_SET_NAME = LEDGER.PERIOD_SET_NAME
1009          AND GP2.period_name = P_GL_PERIOD_TO;
1010     EXCEPTION
1011       WHEN NO_DATA_FOUND THEN
1012         NULL;
1013     END;
1014 
1015     IF l_year_from <> l_year_to THEN
1016       raise JA_CN_INVALID_GLPERIOD;
1017     ELSE
1018       JA_CN_CFS_DATA_CLT_PKG.Cfs_Data_Clt(P_COA_ID          => p_coa_id,
1019                                           P_LEDGER_ID       => p_ledger_id,
1020                                           P_LE_ID           => p_le_id,
1021                                           P_PERIOD_SET_NAME => l_period_set_name,
1022                                           P_GL_PERIOD_FROM  => p_gl_period_from,
1023                                           P_GL_PERIOD_TO    => p_gl_period_to,
1024                                           P_SOURCE          => p_source);
1025     END IF;
1026 
1027     --log for debug
1028     IF (l_proc_level >= l_dbg_level) THEN
1029       FND_LOG.String(l_proc_level,
1030                      l_module_prefix || '.' || l_proc_name || '.end',
1031                      'Exit procedure');
1032     END IF; --(l_proc_level >= l_dbg_level)
1033   ELSE
1034      RETURN;
1035   END IF;
1036   EXCEPTION
1037     when JA_CN_INVALID_GLPERIOD then
1038       FND_MESSAGE.Set_Name(APPLICATION => 'JA',
1039                            NAME        => 'JA_CN_INVALID_GLPERIOD');
1040       l_msg_invalid_glperiod := FND_MESSAGE.Get;
1041       IF (l_proc_level >= l_dbg_level) THEN
1042         FND_LOG.String(l_proc_level,
1043                        l_module_prefix || '.' || l_proc_name ||
1044                        '.JA_CN_INVALID_GLPERIOD ',
1045                        l_msg_invalid_glperiod);
1046       END IF; --(l_proc_level >= l_dbg_level)
1047       retcode := 1;
1048       errbuf  := l_msg_invalid_glperiod;
1049     WHEN OTHERS THEN
1050       IF (l_proc_level >= l_dbg_level) THEN
1051         FND_LOG.String(l_proc_level,
1052                        l_module_prefix || '.' || l_proc_name ||
1053                        '.Other_Exception ',
1054                        SQLCODE || ':' || SQLERRM);
1055       END IF; --(l_proc_level >= l_dbg_level)
1056       retcode := 2;
1057       errbuf  := SQLCODE || ':' || SQLERRM;
1058 
1059   END Collect_Cfs_Data;
1060 
1061   --==========================================================================
1062   --  PROCEDURE NAME:
1063   --    GL_Validation                 Public
1064   --
1065   --  DESCRIPTION:
1066   --      This procedure calls Intercompany transactions validation program to
1067   --      check the Intercompany transactions.
1068   --
1069   --  PARAMETERS:
1070   --      Out: errbuf                 NOCOPY VARCHAR2
1071   --      Out: retcode                NOCOPY VARCHAR2
1072   --      In: P_COA_ID                NMBER               Chart of accounts ID
1073   --      In: P_LE_ID                 NUMBER              ID of Legal Entity
1074   --      In: P_LEDGER_ID             NUMBER              ID of ledger
1075   --      In: P_START_PERIOD          VARCHAR2            Start period
1076   --      In: P_END_PERIOD            VARCHAR2            End period
1077   --      In: P_SOURCE                VARCHAR2            Specified journal source
1078   --      In: P_JOURNAL_CTG           VARCHAR2            Specified journal category
1079   --      In: P_STATUS                VARCHAR2            Specified journal status
1080   --
1081   --  DESIGN REFERENCES:
1082   --      None
1083   --
1084   --  CHANGE HISTORY:
1085   --      02/24/2006     Andrew Liu          Created
1086   --      04/21/2007     Yucheng Sun         Updated
1087   --                                         delete parameter: P_COM_SEGMENT
1088   --      03/09/2008     Chaoqun Wu          Updated
1089   --                                         CNAO Enhancement: add company segment
1090   --===========================================================================
1091   PROCEDURE GL_Validation(errbuf         OUT NOCOPY VARCHAR2,
1092                           retcode        OUT NOCOPY VARCHAR2,
1093                           P_COA_ID       IN NUMBER,
1094                           P_LE_ID        IN NUMBER,
1095                           P_LEDGER_ID    IN NUMBER,
1096                           P_START_PERIOD IN VARCHAR2,
1097                           P_END_PERIOD   IN VARCHAR2,
1098                           P_SOURCE       IN VARCHAR2,
1099                           P_JOURNAL_CTG  IN VARCHAR2,
1100                           P_STATUS       IN VARCHAR2,
1101                           P_COM_SEG      IN VARCHAR2) IS   --Added for CNAO Enhancement
1102     l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
1103     l_proc_level NUMBER := FND_LOG.Level_Procedure;
1104     l_proc_name  VARCHAR2(100) := 'GL_Validation';
1105 
1106   BEGIN
1107  --log for debug
1108     IF (l_proc_level >= l_dbg_level) THEN
1109       FND_LOG.String(l_proc_level,
1110                      l_module_prefix || '.' || l_proc_name || '.begin',
1111                      'Enter procedure');
1112        FND_LOG.String(l_proc_level,
1113                      l_module_prefix || '.' || l_proc_name || '.parameters',
1114                      'P_COA_ID ' || P_COA_ID);
1115       FND_LOG.String(l_proc_level,
1116                      l_module_prefix || '.' || l_proc_name || '.parameters',
1117                      'P_LE_ID ' || P_LE_ID);
1118       FND_LOG.String(l_proc_level,
1119                      l_module_prefix || '.' || l_proc_name || '.parameters',
1120                      'P_LEDGER_ID ' || P_LEDGER_ID);
1121       FND_LOG.String(l_proc_level,
1122                      l_module_prefix || '.' || l_proc_name || '.parameters',
1123                      'P_START_PERIOD ' || P_START_PERIOD);
1124       FND_LOG.String(l_proc_level,
1125                      l_module_prefix || '.' || l_proc_name || '.parameters',
1126                      'P_END_PERIOD ' || P_END_PERIOD);
1127       FND_LOG.String(l_proc_level,
1128                      l_module_prefix || '.' || l_proc_name || '.parameters',
1129                      'P_SOURCE ' || P_SOURCE);
1130       FND_LOG.String(l_proc_level,
1131                      l_module_prefix || '.' || l_proc_name || '.parameters',
1132                      'P_JOURNAL_CTG ' || P_JOURNAL_CTG);
1133       FND_LOG.String(l_proc_level,                                          --Added for CNAO Enhancement
1134                      l_module_prefix || '.' || l_proc_name || '.parameters',
1135                      'P_COM_SEG ' || P_COM_SEG);
1136       FND_LOG.String(l_proc_level,
1137                      l_module_prefix || '.' || l_proc_name || '.parameters',
1138                      'P_STATUS ' || P_STATUS);
1139     END IF; --(l_proc_level >= l_dbg_level)
1140 
1141     --Check Profile
1142     IF NOT(JA_CN_UTILITY.Check_Profile)
1143     THEN
1144       retcode := 1;
1145       errbuf  := '';
1146       RETURN;
1147     END IF;
1148 
1149     JA_CN_GL_INTER_VALID_PKG.GL_Validation(errbuf         => errbuf,
1150                                            retcode        => retcode,
1151                                            P_COA_ID       => P_COA_ID,
1152                                            P_LE_ID        => P_LE_ID,
1153                                            P_LEDGER_ID    => P_LEDGER_ID,
1154                                            P_START_PERIOD => P_START_PERIOD,
1155                                            P_END_PERIOD   => P_END_PERIOD,
1156                                            P_SOURCE       => P_SOURCE,
1157                                            P_JOURNAL_CTG  => P_JOURNAL_CTG,
1158                                            P_STATUS       => P_STATUS,
1159                                            P_COM_SEG      => P_COM_SEG);       --Added for CNAO Enhancement
1160    EXCEPTION
1161    WHEN OTHERS THEN
1162       IF (l_proc_level >= l_dbg_level) THEN
1163         FND_LOG.String(l_proc_level,
1164                        l_module_prefix || '.' || l_proc_name ||
1165                        '.Other_Exception ',
1166                        SQLCODE || ':' || SQLERRM);
1167       END IF; --(l_proc_level >= l_dbg_level)
1168       retcode := 2;
1169       errbuf  := SQLCODE || ':' || SQLERRM;
1170 
1171   END GL_Validation;
1172 
1173   --==========================================================================
1174   --  PROCEDURE NAME:
1175   --    Intercompany_Validation       Public
1176   --
1177   --  DESCRIPTION:
1178   --      This procedure calls Intercompany transactions validation program to
1179   --      check the Intercompany transactions.
1180   --
1181   --  PARAMETERS:
1182   --      Out: errbuf                 NOCOPY VARCHAR2
1183   --      Out: retcode                NOCOPY VARCHAR2
1184   --      In: P_COA_ID                NMBER               Chart of accounts ID
1185   --      In: P_LE_ID                 NUMBER              ID of Legal Entity
1186   --      In: P_LEDGER_ID             NUMBER              ID of ledger
1187   --      In: P_START_PERIOD          VARCHAR2            Start period
1188   --      In: P_END_PERIOD            VARCHAR2            End period
1189   --      In: P_STATUS                VARCHAR2            Specified journal status
1190   --
1191   --  DESIGN REFERENCES:
1192   --      None
1193   --
1194   --  CHANGE HISTORY:
1195   --      02/24/2006     Andrew Liu          Created
1196   --      04/21/2007     Yucheng Sun         Updated
1197   --                                         delete parameter: P_COM_SEGMENT
1198   --      02/09/2008     Chaoqun Wu          Updated
1199   --                                         CNAO Enhancement: add company segment
1200   --===========================================================================
1201   PROCEDURE Intercompany_Validation(errbuf         OUT NOCOPY VARCHAR2,
1202                                     retcode        OUT NOCOPY VARCHAR2,
1203                                     P_COA_ID       IN NUMBER,
1204                                     P_LE_ID        IN NUMBER,
1205                                     P_LEDGER_ID    IN NUMBER,
1206                                     P_START_PERIOD IN VARCHAR2,
1207                                     P_END_PERIOD   IN VARCHAR2,
1208                                     P_STATUS       IN VARCHAR2,
1209                                     P_COM_SEG      IN VARCHAR2  --Added for CNAO Enhancement
1210                                     ) IS
1211    l_dbg_level  NUMBER := FND_LOG.G_Current_Runtime_Level;
1212     l_proc_level NUMBER := FND_LOG.Level_Procedure;
1213     l_proc_name  VARCHAR2(100) := 'GL_Validation';
1214 
1215   BEGIN
1216  --log for debug
1217     IF (l_proc_level >= l_dbg_level) THEN
1218       FND_LOG.String(l_proc_level,
1219                      l_module_prefix || '.' || l_proc_name || '.begin',
1220                      'Enter procedure');
1221        FND_LOG.String(l_proc_level,
1222                      l_module_prefix || '.' || l_proc_name || '.parameters',
1223                      'P_COA_ID ' || P_COA_ID);
1224       FND_LOG.String(l_proc_level,
1225                      l_module_prefix || '.' || l_proc_name || '.parameters',
1226                      'P_LE_ID ' || P_LE_ID);
1227       FND_LOG.String(l_proc_level,
1228                      l_module_prefix || '.' || l_proc_name || '.parameters',
1229                      'P_LEDGER_ID ' || P_LEDGER_ID);
1230       FND_LOG.String(l_proc_level,
1231                      l_module_prefix || '.' || l_proc_name || '.parameters',
1232                      'P_START_PERIOD ' || P_START_PERIOD);
1233       FND_LOG.String(l_proc_level,
1234                      l_module_prefix || '.' || l_proc_name || '.parameters',
1235                      'P_END_PERIOD ' || P_END_PERIOD);
1236       FND_LOG.String(l_proc_level,                                          --Added for CNAO Enhancement
1237                      l_module_prefix || '.' || l_proc_name || '.parameters',
1238                      'P_COM_SEG ' || P_COM_SEG);
1239       FND_LOG.String(l_proc_level,
1240                      l_module_prefix || '.' || l_proc_name || '.parameters',
1241                      'P_STATUS ' || P_STATUS);
1242     END IF; --(l_proc_level >= l_dbg_level)
1243 
1244     --Check Profile
1245     IF NOT(JA_CN_UTILITY.Check_Profile)
1246     THEN
1247       retcode := 1;
1248       errbuf  := '';
1249       RETURN;
1250     END IF;
1251 
1252     JA_CN_GL_INTER_VALID_PKG.Intercompany_Validation(errbuf         => errbuf,
1253                                                      retcode        => retcode,
1254                                                      P_COA_ID       => P_COA_ID,
1255                                                      P_LE_ID        => P_LE_ID,
1256                                                      P_LEDGER_ID    => P_LEDGER_ID,
1257                                                      P_START_PERIOD => P_START_PERIOD,
1258                                                      P_END_PERIOD   => P_END_PERIOD,
1259                                                      P_COM_SEG      => P_COM_SEG,      --Added for CNAO Enhancement
1260                                                      P_STATUS       => P_STATUS
1261                                                      );
1262  EXCEPTION
1263    WHEN OTHERS THEN
1264       IF (l_proc_level >= l_dbg_level) THEN
1265         FND_LOG.String(l_proc_level,
1266                        l_module_prefix || '.' || l_proc_name ||
1267                        '.Other_Exception ',
1268                        SQLCODE || ':' || SQLERRM);
1269       END IF; --(l_proc_level >= l_dbg_level)
1270       retcode := 2;
1271       errbuf  := SQLCODE || ':' || SQLERRM;
1272  END Intercompany_Validation;
1273 
1274   --==========================================================================
1275   --  PROCEDURE NAME:
1276   --
1277   --  Item_Mapping_Analysis_Report                    Public
1278   --
1279   --  DESCRIPTION:
1280   --
1281   --    This procedure is used to export the records which item mapping form saved.
1282   --    It can help the audience know the cash flow of the company and do cash forecasting based on it
1283   --
1284   --
1285   --  PARAMETERS:
1286   --      Out:       errbuf                  Mandatory parameter for PL/SQL concurrent programs
1287   --      Out:       retcode                 Mandatory parameter for PL/SQL concurrent programs
1288   --      In:      P_APLICATION_ID           Application ID
1289   --      In:    P_EVENT_CLASS_CODE          Event class code
1290   --      In:  P_SUPPORTING_REFERENCE_CODE   Supporting reference code
1291   --      In:   P_CHART_OF_ACCOUNTS_ID       Chart of Accounts ID
1292 
1293   --
1294   --  DESIGN REFERENCES:
1295   --
1296   --
1297   --  CHANGE HISTORY:
1298   --
1299   --      27-APR-2007     Joy Liu Created
1300   --
1301   --===========================================================================
1302 
1303   PROCEDURE Item_Mapping_Analysis_Report(errbuf                      OUT NOCOPY VARCHAR2,
1304                                          retcode                     OUT NOCOPY VARCHAR2,
1305                                          P_APLICATION_ID             IN Number,
1306                                          P_EVENT_CLASS_CODE          IN Varchar2,
1307                                          P_SUPPORTING_REFERENCE_CODE IN Varchar2,
1308                                          P_CHART_OF_ACCOUNTS_ID      IN NUMBER) IS
1309   BEGIN
1310     JA_CN_CFS_IMA_PKG.Item_Mapping_Analysis_Report(errbuf                      => errbuf,
1311                                                    retcode                     => retcode,
1312                                                    P_APLICATION_ID             => P_APLICATION_ID,
1313                                                    P_EVENT_CLASS_CODE          => P_EVENT_CLASS_CODE,
1314                                                    P_SUPPORTING_REFERENCE_CODE => P_SUPPORTING_REFERENCE_CODE,
1315                                                    P_CHART_OF_ACCOUNTS_ID      => P_CHART_OF_ACCOUNTS_ID);
1316   END Item_Mapping_Analysis_Report;
1317 
1318   --==========================================================================
1319   --  PROCEDURE NAME:
1320   --    cfs_detail_report                 Public
1321   --
1322   --  DESCRIPTION:
1323   --      This procedure is to generate the cfs detail report.
1324   --
1325   --  PARAMETERS:
1326   --      Out: errbuf
1327   --      Out: retcode
1328   --      In: P_LE_ID            ID of Legal Entity
1329   --      In: P_ledger_ID        ID of ledger
1330   --      In: P_coa_ID           Identifier of gl chart of account
1331   --      In: P_ADHOC_PREFIX     Ad hoc prefix for FSG report, a required
1332   --                             parameter for FSG report
1333   --      In: P_INDUSTRY         Industry with constant value 'C' for
1334   --                             now, a required parameter for FSG report
1335   --      In: P_ID_FLEX_CODE     ID flex code, a required parameter for
1336   --                             FSG report
1337   --      In: P_REPORT_ID        Identifier of FSG report
1338   --      In: P_GL_PERIOD_FROM   Start period
1339   --      In: P_GL_PERIOD_TO     End period
1340   --      In: P_SOURCE           Source of the collection
1341   --      In: P_INTERNAL_TRX     To indicate if intercompany transactions
1342   --                             should be involved in amount calculation
1343   --                             of cash flow statement.
1344   --
1345   --  DESIGN REFERENCES:
1346   --      None
1347   --
1348   --  CHANGE HISTORY:
1349   --      04/28/2007     Qingjun Zhao         Change
1350   --      08/09/2008     Yao Zhang            Fix Bug#7334017 for R12 enhancment
1351   --      20/09/2010     Richard Qi           Commented the whole procedure
1352   --===========================================================================
1353 
1354 /*  PROCEDURE Cfs_Detail_Report(errbuf                 OUT NOCOPY VARCHAR2,
1355                               retcode                OUT NOCOPY VARCHAR2,
1356                               P_LEGAL_ENTITY_ID      IN NUMBER,
1357                               P_ledger_ID            IN NUMBER,
1358                               P_chart_of_accounts_ID IN NUMBER,
1359                               P_ADHOC_PREFIX         IN VARCHAR2,
1360                               P_INDUSTRY             IN VARCHAR2,
1361                               P_ID_FLEX_CODE         IN VARCHAR2,
1362                               P_REPORT_ID            IN NUMBER,
1363                               P_ROW_SET_ID           IN NUMBER,
1364                               P_ROW_NAME             IN VARCHAR2,
1365                               P_GL_PERIOD_FROM       IN VARCHAR2,
1366                               P_GL_PERIOD_TO         IN VARCHAR2,
1367                               P_SOURCE               IN VARCHAR2,
1368                               P_BSV                  IN VARCHAR2) is--Fix Bug#7334017 add
1369 
1370     l_error_status BOOLEAN;
1371     l_dbg_level    NUMBER := FND_LOG.G_Current_Runtime_Level;
1372     l_proc_level   NUMBER := FND_LOG.Level_Procedure;
1373     l_proc_name    VARCHAR2(100) := 'Cfs_Detail_Report';
1374   begin
1375     --log for debug
1376     IF (l_proc_level >= l_dbg_level) THEN
1377       FND_LOG.String(l_proc_level,
1378                      l_module_prefix || '.' || l_proc_name || '.begin',
1379                      'Enter procedure');
1380       FND_LOG.String(l_proc_level,
1381                      l_module_prefix || '.' || l_proc_name || '.parameters',
1382                      'P_LEGAL_ENTITY_ID ' || P_LEGAL_ENTITY_ID);
1383       FND_LOG.String(l_proc_level,
1384                      l_module_prefix || '.' || l_proc_name || '.parameters',
1385                      'P_LEDGER_ID ' || P_LEDGER_ID);
1386       FND_LOG.String(l_proc_level,
1387                      l_module_prefix || '.' || l_proc_name || '.parameters',
1388                      'P_chart_of_accounts_ID ' || P_chart_of_accounts_ID);
1389 
1390       FND_LOG.String(l_proc_level,
1391                      l_module_prefix || '.' || l_proc_name || '.parameters',
1392                      'P_ADHOC_PREFIX ' || p_adhoc_prefix);
1393 
1394       FND_LOG.String(l_proc_level,
1395                      l_module_prefix || '.' || l_proc_name || '.parameters',
1396                      'P_INDUSTRY ' || p_industry);
1397 
1398       FND_LOG.String(l_proc_level,
1399                      l_module_prefix || '.' || l_proc_name || '.parameters',
1400                      'P_ID_FLEX_CODE ' || p_id_flex_code);
1401       FND_LOG.String(l_proc_level,
1402                      l_module_prefix || '.' || l_proc_name || '.parameters',
1403                      'P_GL_PERIOD_FROM ' || P_GL_PERIOD_FROM);
1404       FND_LOG.String(l_proc_level,
1405                      l_module_prefix || '.' || l_proc_name || '.parameters',
1406                      'P_GL_PERIOD_TO' || P_GL_PERIOD_TO);
1407       FND_LOG.String(l_proc_level,
1408                      l_module_prefix || '.' || l_proc_name || '.parameters',
1409                      'P_SOURCE ' || P_SOURCE);
1410       FND_LOG.String(l_proc_level,
1411                      l_module_prefix || '.' || l_proc_name || '.parameters',
1412                      'P_REPORT_ID ' || P_REPORT_ID);
1413 
1414     END IF; --(l_proc_level >= l_dbg_level)
1415 
1416     --Call the functon JA_CN_CFS_UTILITY.Check_Profile to check if all required profiles has been
1417     -- properly set for current responsibility. If No, the function will raise corresponding error
1418     --messages, and the concurrent program will not continue performing next logics,these required
1419     --profiles include ' JG: Product', which should be set to 'Asia/Pacific Localizations',
1420     --'JG: Territory', which should be set to 'China' and 'JA: CNAO Legal Entity', which should be
1421     --NOT NULL
1422     IF JA_CN_UTILITY.Check_Profile THEN
1423       JA_CN_CFS_REPORT_PKG.Cfs_Detail_Report(errbuf                 => errbuf,
1424                                              retcode                => retcode,
1425                                              P_LEGAL_ENTITY_ID      => P_LEGAL_ENTITY_ID,
1426                                              P_ledger_ID            => p_ledger_id,
1427                                              P_Chart_of_accounts_ID => p_chart_of_accounts_id,
1428                                              P_ADHOC_PREFIX         => P_ADHOC_PREFIX,
1429                                              P_INDUSTRY             => P_INDUSTRY,
1430                                              P_ID_FLEX_CODE         => P_ID_FLEX_CODE,
1431                                              P_REPORT_ID            => p_report_id,
1432                                              P_ROW_SET_ID           => p_row_set_id,
1433                                              P_ROW_NAME             => p_row_name,
1434                                              P_GL_PERIOD_FROM       => p_gl_period_from,
1435                                              P_GL_PERIOD_TO         => p_gl_period_to,
1436                                              P_SOURCE               => p_source,
1437                                              P_BSV                  => p_bsv);--Fix Bug#7334017 add
1438     ELSE
1439       --If above check failed, then set status of concurrent program as warning
1440       l_error_status := FND_CONCURRENT.Set_Completion_Status(status  => 'WARNING',
1441                                                              message => '');
1442     END IF; --JA_CN_UTILITY.Check_Profile
1443 
1444     --log for debug
1445     IF (l_proc_level >= l_dbg_level) THEN
1446       FND_LOG.STRING(l_proc_level,
1447                      l_module_prefix || '.' || l_proc_name || '.end',
1448                      'Exit procedure');
1449     END IF; --( l_proc_level >= l_dbg_level )
1450 
1451   EXCEPTION
1452     WHEN OTHERS THEN
1453       IF (l_proc_level >= l_dbg_level) THEN
1454         FND_LOG.String(l_proc_level,
1455                        l_module_prefix || '.' || l_proc_name ||
1456                        '. Other_Exception ',
1457                        SQLCODE || ':' || SQLERRM);
1458       END IF; --(l_proc_level >= l_dbg_level)
1459 
1460   end Cfs_Detail_Report;*/
1461 
1462 END JA_CN_CFS_CONC_PROG;