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