1: PACKAGE BODY xla_mpa_accrual_rprtg_pkg AS
2: -- $Header: xlarpmpb.pkb 120.8.12010000.2 2008/07/31 20:15:47 vkasina ship $
3: /*===========================================================================+
4: | Copyright (c) 2003 Oracle Corporation Belmont, California, USA |
5: | ALL rights reserved. |
7: | FILENAME |
8: | xlarpmpb.pkb |
9: | |
10: | PACKAGE NAME |
11: | xla_mpa_accrual_rprtg_pkg |
12: | |
13: | DESCRIPTION |
14: | This package is called by the Create Accounting program through |
15: | a concurrent request and generates a report if there are mpa |
34: C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
35: C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
36: C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
37: C_DEFAULT_MODULE CONSTANT VARCHAR2(240)
38: := 'xla.plsql.xla_mpa_accrual_rprtg_pkg';
39:
40: g_log_level NUMBER;
41: g_log_enabled BOOLEAN;
42:
55: WHEN xla_exceptions_pkg.application_exception THEN
56: RAISE;
57: WHEN OTHERS THEN
58: xla_exceptions_pkg.raise_message
59: (p_location => 'xla_mpa_accrual_rprtg_pkg.trace');
60: END trace;
61:
62: PROCEDURE build_xml_sql;
63:
265:
266: EXCEPTION
267: WHEN OTHERS THEN
268: xla_exceptions_pkg.raise_message
269: (p_location => 'xla_mpa_accrual_rprtg_pkg.get_transaction_id ');
270:
271: END get_transaction_id;
272:
273: PROCEDURE build_xml_sql IS
282: trace('build_xml_sql.Begin'
283: ,C_LEVEL_PROCEDURE, l_log_module);
284: END IF;
285:
286: xla_mpa_accrual_rprtg_pkg.C_SUMMARY_QUERY :=
287: ' SELECT xec.event_class_code EVENT_CLASS_CODE
288: ,xec.name EVENT_CLASS
289: ,xgl.ledger_id LEDGER_ID
290: ,xgl.name LEDGER
318: AND lk2.lookup_code = ''B''
319: AND lk3.lookup_type = ''XLA_BALANCE_TYPE''
320: AND lk3.lookup_code = ''E'' ';
321:
322: xla_mpa_accrual_rprtg_pkg.xah_appl_filter := ' AND xah.application_id = '||
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
319: AND lk3.lookup_type = ''XLA_BALANCE_TYPE''
320: AND lk3.lookup_code = ''E'' ';
321:
322: xla_mpa_accrual_rprtg_pkg.xah_appl_filter := ' AND xah.application_id = '||
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
320: AND lk3.lookup_code = ''E'' ';
321:
322: xla_mpa_accrual_rprtg_pkg.xah_appl_filter := ' AND xah.application_id = '||
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
321:
322: xla_mpa_accrual_rprtg_pkg.xah_appl_filter := ' AND xah.application_id = '||
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
322: xla_mpa_accrual_rprtg_pkg.xah_appl_filter := ' AND xah.application_id = '||
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
323: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
324: xla_mpa_accrual_rprtg_pkg.xae_appl_filter := ' AND xae.application_id = '||
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
332: to_char(xla_mpa_accrual_rprtg_pkg.p_accounting_batch_id);
325: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
326: xla_mpa_accrual_rprtg_pkg.ent_appl_filter := ' AND ent.application_id = '||
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
332: to_char(xla_mpa_accrual_rprtg_pkg.p_accounting_batch_id);
333:
327: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
332: to_char(xla_mpa_accrual_rprtg_pkg.p_accounting_batch_id);
333:
334: xla_mpa_accrual_rprtg_pkg.C_TRANSFER_QUERY :=
335: ' SELECT xgl.name LEDGER
328: xla_mpa_accrual_rprtg_pkg.xal_appl_filter := ' AND xal.application_id = '||
329: to_char(xla_mpa_accrual_rprtg_pkg.p_application_id);
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
332: to_char(xla_mpa_accrual_rprtg_pkg.p_accounting_batch_id);
333:
334: xla_mpa_accrual_rprtg_pkg.C_TRANSFER_QUERY :=
335: ' SELECT xgl.name LEDGER
336: ,xgl.ledger_id LEDGER_ID
330:
331: xla_mpa_accrual_rprtg_pkg.acct_batch_filter := ' AND xah.accounting_batch_id = '||
332: to_char(xla_mpa_accrual_rprtg_pkg.p_accounting_batch_id);
333:
334: xla_mpa_accrual_rprtg_pkg.C_TRANSFER_QUERY :=
335: ' SELECT xgl.name LEDGER
336: ,xgl.ledger_id LEDGER_ID
337: ,lk1.meaning ACCRUAL_ENTRY
338: ,lk2.meaning MPA_ACCRUAL_ENTRY
373: AND lk4.lookup_type = ''XLA_MPA_TYPE''
374: AND lk4.lookup_code = ''V''
375: AND xls.application_id = xah.application_id ';
376:
377: xla_mpa_accrual_rprtg_pkg.C_GENERAL_ERRORS_QUERY :=
378: ' SELECT ERR.MESSAGE_NUMBER ERROR_NO
379: ,ERR.ENCODED_MSG ERROR_MSG
380: ,ERR.AE_LINE_NUM LINE_NUM
381: FROM XLA_ACCOUNTING_ERRORS ERR
384: WHERE err.ae_header_id = xah.ae_header_id
385: AND err.application_id = xah.application_id
386: AND xls.application_id = xah.application_id ';
387:
388: xla_mpa_accrual_rprtg_pkg.C_MPA_COLS_QUERY :=
389: ' SELECT xah.event_id event_id
390: ,xec.name event_class
391: ,xet.name event_type
392: ,xae.event_number event_number
423: ,sum(xal.accounted_dr) over (partition by xal.ae_header_id)
424: total_accted_debits
425: ,sum(xal.accounted_cr) over (partition by xal.ae_header_id)
426: total_accted_credits ';
427: xla_mpa_accrual_rprtg_pkg.C_MPA_FROM_QUERY :=
428: ' FROM xla_ae_headers xah
429: ,xla_ae_lines xal
430: ,xla_events xae
431: ,xla_event_types_tl xet
439: ,fnd_document_sequences seq
440: ,fun_seq_versions seqv2
441: ,fun_seq_versions seqv3 ';
442:
443: xla_mpa_accrual_rprtg_pkg.C_MPA_WHR_QUERY :=
444: ' WHERE xal.application_id = xah.application_id
445: AND xal.ae_header_id = xah.ae_header_id
446: AND xae.application_id = xah.application_id
447: AND xae.event_id = xah.event_id
472: AND ((xal.mpa_accrual_entry_flag = ''Y'' AND
473: xah.accounting_entry_status_code in (''D'',''F''))
474: OR (xah.parent_ae_header_id IS NOT NULL AND xah.parent_ae_line_num IS NOT NULL)) ';
475:
476: xla_mpa_accrual_rprtg_pkg.C_ACCRUAL_RVRSL_COLS_QUERY :=
477: ' SELECT xah.event_id event_id
478: ,xec.name event_class
479: ,xet.name event_type
480: ,xae.event_number event_number
512: total_accted_debits
513: ,sum(xal.accounted_cr) over (partition by xal.ae_header_id)
514: total_accted_credits ';
515:
516: xla_mpa_accrual_rprtg_pkg.C_ACCRUAL_RVRSL_FROM_QUERY :=
517: ' FROM xla_ae_headers xah
518: ,xla_events xae
519: ,xla_event_types_tl xet
520: ,xla_event_classes_tl xec
529: ,fun_seq_versions seqv2
530: ,fun_seq_versions seqv3
531: ,xla_subledgers xls ';
532:
533: xla_mpa_accrual_rprtg_pkg.C_ACCRUAL_RVRSL_WHR_QUERY :=
534: ' WHERE xec.application_id = xet.application_id
535: AND xec.event_class_code = xet.event_class_code
536: AND xec.language = USERENV(''LANG'')
537: AND xet.application_id = xae.application_id
564: xah.accounting_entry_status_code in (''D'',''F''))
565: OR (xah.parent_ae_header_id IS NOT NULL
566: AND xah.parent_ae_line_num IS NULL)) ';
567:
568: xla_mpa_accrual_rprtg_pkg.C_ERRORS_COLS_QUERY :=
569: ' SELECT xah.event_id event_id
570: ,xec.name event_class
571: ,xet.name event_type
572: ,xae.event_number event_number
606: total_accted_credits
607: ,err.message_number error_number
608: ,err.encoded_msg error_message ';
609:
610: xla_mpa_accrual_rprtg_pkg.C_ERRORS_FROM_QUERY :=
611: ' FROM xla_ae_headers xah
612: ,xla_events xae
613: ,xla_event_types_tl xet
614: ,xla_event_classes_tl xec
624: ,fun_seq_versions seqv3
625: ,xla_subledgers xls
626: ,xla_accounting_errors err ';
627:
628: xla_mpa_accrual_rprtg_pkg.C_ERRORS_WHR_QUERY :=
629: ' WHERE xec.application_id = xet.application_id
630: AND xec.event_class_code = xet.event_class_code
631: AND xec.language = USERENV(''LANG'')
632: AND xet.application_id = xae.application_id
666: AND xal.ae_line_num(+) = err.ae_line_num
667: AND xls.application_id = xah.application_id
668: AND xah.accounting_entry_status_code NOT IN (''D'',''F'') ';
669:
670: xla_mpa_accrual_rprtg_pkg.p_trx_identifiers := get_transaction_id(xla_mpa_accrual_rprtg_pkg.p_application_id
671: ,xla_mpa_accrual_rprtg_pkg.p_ledger_id
672: ,xla_mpa_accrual_rprtg_pkg.p_end_date
673: ,xla_mpa_accrual_rprtg_pkg.p_process_category_code)
674: ||' USERIDS ';
667: AND xls.application_id = xah.application_id
668: AND xah.accounting_entry_status_code NOT IN (''D'',''F'') ';
669:
670: xla_mpa_accrual_rprtg_pkg.p_trx_identifiers := get_transaction_id(xla_mpa_accrual_rprtg_pkg.p_application_id
671: ,xla_mpa_accrual_rprtg_pkg.p_ledger_id
672: ,xla_mpa_accrual_rprtg_pkg.p_end_date
673: ,xla_mpa_accrual_rprtg_pkg.p_process_category_code)
674: ||' USERIDS ';
675:
668: AND xah.accounting_entry_status_code NOT IN (''D'',''F'') ';
669:
670: xla_mpa_accrual_rprtg_pkg.p_trx_identifiers := get_transaction_id(xla_mpa_accrual_rprtg_pkg.p_application_id
671: ,xla_mpa_accrual_rprtg_pkg.p_ledger_id
672: ,xla_mpa_accrual_rprtg_pkg.p_end_date
673: ,xla_mpa_accrual_rprtg_pkg.p_process_category_code)
674: ||' USERIDS ';
675:
676: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
669:
670: xla_mpa_accrual_rprtg_pkg.p_trx_identifiers := get_transaction_id(xla_mpa_accrual_rprtg_pkg.p_application_id
671: ,xla_mpa_accrual_rprtg_pkg.p_ledger_id
672: ,xla_mpa_accrual_rprtg_pkg.p_end_date
673: ,xla_mpa_accrual_rprtg_pkg.p_process_category_code)
674: ||' USERIDS ';
675:
676: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
677: trace('build_xml_sql.End'
685: ,C_LEVEL_PROCEDURE, l_log_module);
686: END IF;
687: xla_exceptions_pkg.raise_message
688: (p_location =>
689: 'xla_mpa_accrual_rprtg_pkg.build_xml_sql');
690: END build_xml_sql;
691:
692:
693: FUNCTION run_report
924: EXCEPTION
925: WHEN OTHERS THEN
926: -- trace mesg
927: xla_exceptions_pkg.raise_message
928: (p_location => 'xla_mpa_accrual_rprtg_pkg.run_report ');
929:
930: END run_report;
931:
932:
979:
980: EXCEPTION
981: WHEN OTHERS THEN
982: xla_exceptions_pkg.raise_message
983: (p_location => 'xla_mpa_accrual_rprtg_pkg.beforeReport ');
984:
985: END beforeReport;
986:
987: BEGIN
992:
993: IF NOT g_log_enabled THEN
994: g_log_level := C_LEVEL_LOG_DISABLED;
995: END IF;
996: END xla_mpa_accrual_rprtg_pkg;