440: --
441: -- bulk performance
442: --
443: l_balance_type_code VARCHAR2(1);
444: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
445: l_log_module VARCHAR2(240);
446:
447: --
448: -- Upgrade strategy
510: ') = 'B'
511: THEN
512:
513: --
514: XLA_AE_LINES_PKG.SetNewLine;
515:
516: p_balance_type_code := l_balance_type_code;
517: -- set the flag so later we will know whether the gain loss line needs to be created
518:
522:
523: --
524: -- bulk performance
525: --
526: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
527: p_header_num => 0); -- 4262811
528: --
529: -- set accounting line options
530: --
527: p_header_num => 0); -- 4262811
528: --
529: -- set accounting line options
530: --
531: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
532: p_natural_side_code => 'D'
533: , p_gain_or_loss_flag => 'N'
534: , p_gl_transfer_mode_code => 'S'
535: , p_acct_entry_type_code => 'B'
541: --
542: --
543: -- set accounting line type info
544: --
545: xla_ae_lines_pkg.SetAcctLineType
546: (p_component_type => l_component_type
547: ,p_event_type_code => l_event_type_code
548: ,p_line_definition_owner_code => l_line_definition_owner_code
549: ,p_line_definition_code => l_line_definition_code
555: ,p_event_class_code => l_event_class_code);
556: --
557: -- set accounting class
558: --
559: xla_ae_lines_pkg.SetAcctClass(
560: p_accounting_class_code => 'BUDGET'
561: , p_ae_header_id => l_ae_header_id
562: );
563:
563:
564: --
565: -- set rounding class
566: --
567: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
568: 'BUDGET';
569:
570: --
571: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
567: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
568: 'BUDGET';
569:
570: --
571: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
572: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
573: --
574: -- bulk performance
575: --
568: 'BUDGET';
569:
570: --
571: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
572: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
573: --
574: -- bulk performance
575: --
576: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
572: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
573: --
574: -- bulk performance
575: --
576: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
577:
578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
579: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
580:
574: -- bulk performance
575: --
576: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
577:
578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
579: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
580:
581: -- 4955764
582: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
579: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
580:
581: -- 4955764
582: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
583: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
584:
585: -- 4458381 Public Sector Enh
586:
626: l_rec_acct_attrs.array_char_value(17) := p_source_6;
627: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
628: l_rec_acct_attrs.array_num_value(18) := p_source_15;
629:
630: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
631: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
632:
633: ---------------------------------------------------------------------------------------------------------------
634: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
627: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
628: l_rec_acct_attrs.array_num_value(18) := p_source_15;
629:
630: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
631: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
632:
633: ---------------------------------------------------------------------------------------------------------------
634: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
635: ---------------------------------------------------------------------------------------------------------------
630: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
631: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
632:
633: ---------------------------------------------------------------------------------------------------------------
634: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
635: ---------------------------------------------------------------------------------------------------------------
636: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
637:
638: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
632:
633: ---------------------------------------------------------------------------------------------------------------
634: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
635: ---------------------------------------------------------------------------------------------------------------
636: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
637:
638: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
639: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
640:
634: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
635: ---------------------------------------------------------------------------------------------------------------
636: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
637:
638: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
639: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
640:
641: IF xla_accounting_cache_pkg.GetValueChar
642: (p_source_code => 'LEDGER_CATEGORY_CODE'
635: ---------------------------------------------------------------------------------------------------------------
636: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
637:
638: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
639: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
640:
641: IF xla_accounting_cache_pkg.GetValueChar
642: (p_source_code => 'LEDGER_CATEGORY_CODE'
643: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
646: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
647: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
648: )
649: THEN
650: xla_ae_lines_pkg.BflowUpgEntry
651: (p_business_method_code => l_bflow_method_code
652: ,p_business_class_code => l_bflow_class_code
653: ,p_balance_type => l_balance_type_code);
654: ELSE
686: , x_value_type_code => l_adr_value_type_code
687: , p_side => 'NA'
688: );
689:
690: xla_ae_lines_pkg.set_ccid(
691: p_code_combination_id => l_ccid
692: , p_value_type_code => l_adr_value_type_code
693: , p_transaction_coa_id => l_adr_transaction_coa_id
694: , p_accounting_coa_id => l_adr_accounting_coa_id
722: xla_accounting_err_pkg.build_message
723: (p_appli_s_name => 'XLA'
724: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
725: ,p_token_1 => 'LINE_NUMBER'
726: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
727: ,p_token_2 => 'LINE_TYPE_NAME'
728: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
729: l_component_type
730: ,l_component_code
758: --
759: --
760: ------------------------------------------------------------------------------------------------
761: -- 4219869 Business Flow
762: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
763: -- Prior Entry. Currently, the following code is always generated.
764: ------------------------------------------------------------------------------------------------
765: XLA_AE_LINES_PKG.ValidateCurrentLine;
766:
761: -- 4219869 Business Flow
762: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
763: -- Prior Entry. Currently, the following code is always generated.
764: ------------------------------------------------------------------------------------------------
765: XLA_AE_LINES_PKG.ValidateCurrentLine;
766:
767: ------------------------------------------------------------------------------------
768: -- 4219869 Business Flow
769: -- Populated credit and debit amounts -- Need to generate this within IF
767: ------------------------------------------------------------------------------------
768: -- 4219869 Business Flow
769: -- Populated credit and debit amounts -- Need to generate this within IF
770: ------------------------------------------------------------------------------------
771: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
772:
773: ----------------------------------------------------------------------------------
774: -- 4219869 Business Flow
775: -- Update journal entry status -- Need to generate this within IF
799: -- To allow MPA report to determine if it should generate report process
800: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
801: ------------------------------------------------------------------------------------------
802:
803: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
804: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
805:
806: --
807: -- Update the line information that should be overwritten
800: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
801: ------------------------------------------------------------------------------------------
802:
803: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
804: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
805:
806: --
807: -- Update the line information that should be overwritten
808: --
805:
806: --
807: -- Update the line information that should be overwritten
808: --
809: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
810: p_header_num => 1);
811: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
812:
813: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
807: -- Update the line information that should be overwritten
808: --
809: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
810: p_header_num => 1);
811: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
812:
813: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
814:
815: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
809: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
810: p_header_num => 1);
811: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
812:
813: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
814:
815: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
816: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
817: END IF;
812:
813: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
814:
815: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
816: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
817: END IF;
818:
819: --
820: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
819: --
820: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
821: --
822: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
823: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
824: ELSE
825: ---------------------------------------------------------------------------------------------------
826: -- 4262811a Switch Sign
827: ---------------------------------------------------------------------------------------------------
824: ELSE
825: ---------------------------------------------------------------------------------------------------
826: -- 4262811a Switch Sign
827: ---------------------------------------------------------------------------------------------------
828: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
829: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
825: ---------------------------------------------------------------------------------------------------
826: -- 4262811a Switch Sign
827: ---------------------------------------------------------------------------------------------------
828: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
829: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
826: -- 4262811a Switch Sign
827: ---------------------------------------------------------------------------------------------------
828: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
829: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
834: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
827: ---------------------------------------------------------------------------------------------------
828: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
829: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
834: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
835: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
828: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
829: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
834: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
835: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
836:
830: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
834: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
835: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
836:
837: END IF;
838:
831: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
832: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
833: -- 5132302
834: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
835: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
836:
837: END IF;
838:
839: -- 4955764
836:
837: END IF;
838:
839: -- 4955764
840: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
841: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
842:
843:
844: XLA_AE_LINES_PKG.ValidateCurrentLine;
840: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
841: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
842:
843:
844: XLA_AE_LINES_PKG.ValidateCurrentLine;
845: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
846:
847: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
848: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
841: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
842:
843:
844: XLA_AE_LINES_PKG.ValidateCurrentLine;
845: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
846:
847: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
848: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
849: ,p_balance_type_code => l_balance_type_code);
985: --
986: -- bulk performance
987: --
988: l_balance_type_code VARCHAR2(1);
989: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
990: l_log_module VARCHAR2(240);
991:
992: --
993: -- Upgrade strategy
1055: ') = 'GL'
1056: THEN
1057:
1058: --
1059: XLA_AE_LINES_PKG.SetNewLine;
1060:
1061: p_balance_type_code := l_balance_type_code;
1062: -- set the flag so later we will know whether the gain loss line needs to be created
1063:
1067:
1068: --
1069: -- bulk performance
1070: --
1071: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1072: p_header_num => 0); -- 4262811
1073: --
1074: -- set accounting line options
1075: --
1072: p_header_num => 0); -- 4262811
1073: --
1074: -- set accounting line options
1075: --
1076: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1077: p_natural_side_code => 'D'
1078: , p_gain_or_loss_flag => 'N'
1079: , p_gl_transfer_mode_code => 'S'
1080: , p_acct_entry_type_code => 'E'
1086: --
1087: --
1088: -- set accounting line type info
1089: --
1090: xla_ae_lines_pkg.SetAcctLineType
1091: (p_component_type => l_component_type
1092: ,p_event_type_code => l_event_type_code
1093: ,p_line_definition_owner_code => l_line_definition_owner_code
1094: ,p_line_definition_code => l_line_definition_code
1100: ,p_event_class_code => l_event_class_code);
1101: --
1102: -- set accounting class
1103: --
1104: xla_ae_lines_pkg.SetAcctClass(
1105: p_accounting_class_code => 'PA_BUDGET_ENC'
1106: , p_ae_header_id => l_ae_header_id
1107: );
1108:
1108:
1109: --
1110: -- set rounding class
1111: --
1112: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1113: 'PA_BUDGET_ENC';
1114:
1115: --
1116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1112: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1113: 'PA_BUDGET_ENC';
1114:
1115: --
1116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1118: --
1119: -- bulk performance
1120: --
1113: 'PA_BUDGET_ENC';
1114:
1115: --
1116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1118: --
1119: -- bulk performance
1120: --
1121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1118: --
1119: -- bulk performance
1120: --
1121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1122:
1123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1125:
1119: -- bulk performance
1120: --
1121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1122:
1123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1125:
1126: -- 4955764
1127: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1125:
1126: -- 4955764
1127: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1128: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1129:
1130: -- 4458381 Public Sector Enh
1131: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
1127: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1128: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1129:
1130: -- 4458381 Public Sector Enh
1131: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
1132: --
1133: -- set accounting attributes for the line type
1134: --
1135: l_entered_amt_idx := 10;
1171: l_rec_acct_attrs.array_char_value(17) := p_source_6;
1172: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
1173: l_rec_acct_attrs.array_num_value(18) := p_source_15;
1174:
1175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1177:
1178: ---------------------------------------------------------------------------------------------------------------
1179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1172: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
1173: l_rec_acct_attrs.array_num_value(18) := p_source_15;
1174:
1175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1177:
1178: ---------------------------------------------------------------------------------------------------------------
1179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1180: ---------------------------------------------------------------------------------------------------------------
1175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1177:
1178: ---------------------------------------------------------------------------------------------------------------
1179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1180: ---------------------------------------------------------------------------------------------------------------
1181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1182:
1183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1177:
1178: ---------------------------------------------------------------------------------------------------------------
1179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1180: ---------------------------------------------------------------------------------------------------------------
1181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1182:
1183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1185:
1179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1180: ---------------------------------------------------------------------------------------------------------------
1181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1182:
1183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1185:
1186: IF xla_accounting_cache_pkg.GetValueChar
1187: (p_source_code => 'LEDGER_CATEGORY_CODE'
1180: ---------------------------------------------------------------------------------------------------------------
1181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1182:
1183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1185:
1186: IF xla_accounting_cache_pkg.GetValueChar
1187: (p_source_code => 'LEDGER_CATEGORY_CODE'
1188: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1191: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1192: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1193: )
1194: THEN
1195: xla_ae_lines_pkg.BflowUpgEntry
1196: (p_business_method_code => l_bflow_method_code
1197: ,p_business_class_code => l_bflow_class_code
1198: ,p_balance_type => l_balance_type_code);
1199: ELSE
1231: , x_value_type_code => l_adr_value_type_code
1232: , p_side => 'NA'
1233: );
1234:
1235: xla_ae_lines_pkg.set_ccid(
1236: p_code_combination_id => l_ccid
1237: , p_value_type_code => l_adr_value_type_code
1238: , p_transaction_coa_id => l_adr_transaction_coa_id
1239: , p_accounting_coa_id => l_adr_accounting_coa_id
1267: xla_accounting_err_pkg.build_message
1268: (p_appli_s_name => 'XLA'
1269: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1270: ,p_token_1 => 'LINE_NUMBER'
1271: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1272: ,p_token_2 => 'LINE_TYPE_NAME'
1273: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1274: l_component_type
1275: ,l_component_code
1303: --
1304: --
1305: ------------------------------------------------------------------------------------------------
1306: -- 4219869 Business Flow
1307: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1308: -- Prior Entry. Currently, the following code is always generated.
1309: ------------------------------------------------------------------------------------------------
1310: XLA_AE_LINES_PKG.ValidateCurrentLine;
1311:
1306: -- 4219869 Business Flow
1307: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1308: -- Prior Entry. Currently, the following code is always generated.
1309: ------------------------------------------------------------------------------------------------
1310: XLA_AE_LINES_PKG.ValidateCurrentLine;
1311:
1312: ------------------------------------------------------------------------------------
1313: -- 4219869 Business Flow
1314: -- Populated credit and debit amounts -- Need to generate this within IF
1312: ------------------------------------------------------------------------------------
1313: -- 4219869 Business Flow
1314: -- Populated credit and debit amounts -- Need to generate this within IF
1315: ------------------------------------------------------------------------------------
1316: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1317:
1318: ----------------------------------------------------------------------------------
1319: -- 4219869 Business Flow
1320: -- Update journal entry status -- Need to generate this within IF
1344: -- To allow MPA report to determine if it should generate report process
1345: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1346: ------------------------------------------------------------------------------------------
1347:
1348: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1349: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1350:
1351: --
1352: -- Update the line information that should be overwritten
1345: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1346: ------------------------------------------------------------------------------------------
1347:
1348: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1349: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1350:
1351: --
1352: -- Update the line information that should be overwritten
1353: --
1350:
1351: --
1352: -- Update the line information that should be overwritten
1353: --
1354: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1355: p_header_num => 1);
1356: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1357:
1358: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1352: -- Update the line information that should be overwritten
1353: --
1354: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1355: p_header_num => 1);
1356: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1357:
1358: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1359:
1360: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1354: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1355: p_header_num => 1);
1356: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1357:
1358: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1359:
1360: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1361: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1362: END IF;
1357:
1358: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1359:
1360: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1361: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1362: END IF;
1363:
1364: --
1365: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1364: --
1365: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1366: --
1367: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
1368: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
1369: ELSE
1370: ---------------------------------------------------------------------------------------------------
1371: -- 4262811a Switch Sign
1372: ---------------------------------------------------------------------------------------------------
1369: ELSE
1370: ---------------------------------------------------------------------------------------------------
1371: -- 4262811a Switch Sign
1372: ---------------------------------------------------------------------------------------------------
1373: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1370: ---------------------------------------------------------------------------------------------------
1371: -- 4262811a Switch Sign
1372: ---------------------------------------------------------------------------------------------------
1373: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1371: -- 4262811a Switch Sign
1372: ---------------------------------------------------------------------------------------------------
1373: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1372: ---------------------------------------------------------------------------------------------------
1373: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1380: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1373: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1380: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1381:
1375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1380: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1381:
1382: END IF;
1383:
1376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1377: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1378: -- 5132302
1379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1380: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1381:
1382: END IF;
1383:
1384: -- 4955764
1381:
1382: END IF;
1383:
1384: -- 4955764
1385: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1386: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1387:
1388:
1389: XLA_AE_LINES_PKG.ValidateCurrentLine;
1385: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1386: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1387:
1388:
1389: XLA_AE_LINES_PKG.ValidateCurrentLine;
1390: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1391:
1392: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1393: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1386: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1387:
1388:
1389: XLA_AE_LINES_PKG.ValidateCurrentLine;
1390: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1391:
1392: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1393: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1394: ,p_balance_type_code => l_balance_type_code);
1528: --
1529: -- bulk performance
1530: --
1531: l_balance_type_code VARCHAR2(1);
1532: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
1533: l_log_module VARCHAR2(240);
1534:
1535: --
1536: -- Upgrade strategy
1596: ') = 'R'
1597: THEN
1598:
1599: --
1600: XLA_AE_LINES_PKG.SetNewLine;
1601:
1602: p_balance_type_code := l_balance_type_code;
1603: -- set the flag so later we will know whether the gain loss line needs to be created
1604:
1608:
1609: --
1610: -- bulk performance
1611: --
1612: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1613: p_header_num => 0); -- 4262811
1614: --
1615: -- set accounting line options
1616: --
1613: p_header_num => 0); -- 4262811
1614: --
1615: -- set accounting line options
1616: --
1617: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1618: p_natural_side_code => 'C'
1619: , p_gain_or_loss_flag => 'N'
1620: , p_gl_transfer_mode_code => 'S'
1621: , p_acct_entry_type_code => 'B'
1627: --
1628: --
1629: -- set accounting line type info
1630: --
1631: xla_ae_lines_pkg.SetAcctLineType
1632: (p_component_type => l_component_type
1633: ,p_event_type_code => l_event_type_code
1634: ,p_line_definition_owner_code => l_line_definition_owner_code
1635: ,p_line_definition_code => l_line_definition_code
1641: ,p_event_class_code => l_event_class_code);
1642: --
1643: -- set accounting class
1644: --
1645: xla_ae_lines_pkg.SetAcctClass(
1646: p_accounting_class_code => 'BUDGET'
1647: , p_ae_header_id => l_ae_header_id
1648: );
1649:
1649:
1650: --
1651: -- set rounding class
1652: --
1653: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1654: 'BUDGET';
1655:
1656: --
1657: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1653: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1654: 'BUDGET';
1655:
1656: --
1657: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1658: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1659: --
1660: -- bulk performance
1661: --
1654: 'BUDGET';
1655:
1656: --
1657: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1658: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1659: --
1660: -- bulk performance
1661: --
1662: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1658: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1659: --
1660: -- bulk performance
1661: --
1662: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1663:
1664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1665: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1666:
1660: -- bulk performance
1661: --
1662: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1663:
1664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1665: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1666:
1667: -- 4955764
1668: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1665: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1666:
1667: -- 4955764
1668: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1669: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1670:
1671: -- 4458381 Public Sector Enh
1672:
1712: l_rec_acct_attrs.array_char_value(17) := p_source_6;
1713: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
1714: l_rec_acct_attrs.array_num_value(18) := p_source_15;
1715:
1716: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1717: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1718:
1719: ---------------------------------------------------------------------------------------------------------------
1720: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1713: l_rec_acct_attrs.array_acct_attr_code(18) := 'UPG_DR_ENC_TYPE_ID';
1714: l_rec_acct_attrs.array_num_value(18) := p_source_15;
1715:
1716: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1717: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1718:
1719: ---------------------------------------------------------------------------------------------------------------
1720: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1721: ---------------------------------------------------------------------------------------------------------------
1716: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1717: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1718:
1719: ---------------------------------------------------------------------------------------------------------------
1720: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1721: ---------------------------------------------------------------------------------------------------------------
1722: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1723:
1724: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1718:
1719: ---------------------------------------------------------------------------------------------------------------
1720: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1721: ---------------------------------------------------------------------------------------------------------------
1722: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1723:
1724: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1725: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1726:
1720: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1721: ---------------------------------------------------------------------------------------------------------------
1722: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1723:
1724: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1725: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1726:
1727: IF xla_accounting_cache_pkg.GetValueChar
1728: (p_source_code => 'LEDGER_CATEGORY_CODE'
1721: ---------------------------------------------------------------------------------------------------------------
1722: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1723:
1724: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1725: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1726:
1727: IF xla_accounting_cache_pkg.GetValueChar
1728: (p_source_code => 'LEDGER_CATEGORY_CODE'
1729: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1732: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1733: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1734: )
1735: THEN
1736: xla_ae_lines_pkg.BflowUpgEntry
1737: (p_business_method_code => l_bflow_method_code
1738: ,p_business_class_code => l_bflow_class_code
1739: ,p_balance_type => l_balance_type_code);
1740: ELSE
1772: , x_value_type_code => l_adr_value_type_code
1773: , p_side => 'NA'
1774: );
1775:
1776: xla_ae_lines_pkg.set_ccid(
1777: p_code_combination_id => l_ccid
1778: , p_value_type_code => l_adr_value_type_code
1779: , p_transaction_coa_id => l_adr_transaction_coa_id
1780: , p_accounting_coa_id => l_adr_accounting_coa_id
1808: xla_accounting_err_pkg.build_message
1809: (p_appli_s_name => 'XLA'
1810: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1811: ,p_token_1 => 'LINE_NUMBER'
1812: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1813: ,p_token_2 => 'LINE_TYPE_NAME'
1814: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1815: l_component_type
1816: ,l_component_code
1844: --
1845: --
1846: ------------------------------------------------------------------------------------------------
1847: -- 4219869 Business Flow
1848: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1849: -- Prior Entry. Currently, the following code is always generated.
1850: ------------------------------------------------------------------------------------------------
1851: XLA_AE_LINES_PKG.ValidateCurrentLine;
1852:
1847: -- 4219869 Business Flow
1848: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1849: -- Prior Entry. Currently, the following code is always generated.
1850: ------------------------------------------------------------------------------------------------
1851: XLA_AE_LINES_PKG.ValidateCurrentLine;
1852:
1853: ------------------------------------------------------------------------------------
1854: -- 4219869 Business Flow
1855: -- Populated credit and debit amounts -- Need to generate this within IF
1853: ------------------------------------------------------------------------------------
1854: -- 4219869 Business Flow
1855: -- Populated credit and debit amounts -- Need to generate this within IF
1856: ------------------------------------------------------------------------------------
1857: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1858:
1859: ----------------------------------------------------------------------------------
1860: -- 4219869 Business Flow
1861: -- Update journal entry status -- Need to generate this within IF
1885: -- To allow MPA report to determine if it should generate report process
1886: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1887: ------------------------------------------------------------------------------------------
1888:
1889: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1890: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1891:
1892: --
1893: -- Update the line information that should be overwritten
1886: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1887: ------------------------------------------------------------------------------------------
1888:
1889: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1890: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1891:
1892: --
1893: -- Update the line information that should be overwritten
1894: --
1891:
1892: --
1893: -- Update the line information that should be overwritten
1894: --
1895: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1896: p_header_num => 1);
1897: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1898:
1899: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1893: -- Update the line information that should be overwritten
1894: --
1895: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1896: p_header_num => 1);
1897: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1898:
1899: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1900:
1901: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1895: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1896: p_header_num => 1);
1897: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1898:
1899: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1900:
1901: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1902: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1903: END IF;
1898:
1899: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1900:
1901: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1902: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1903: END IF;
1904:
1905: --
1906: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1905: --
1906: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1907: --
1908: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
1909: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
1910: ELSE
1911: ---------------------------------------------------------------------------------------------------
1912: -- 4262811a Switch Sign
1913: ---------------------------------------------------------------------------------------------------
1910: ELSE
1911: ---------------------------------------------------------------------------------------------------
1912: -- 4262811a Switch Sign
1913: ---------------------------------------------------------------------------------------------------
1914: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1915: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1911: ---------------------------------------------------------------------------------------------------
1912: -- 4262811a Switch Sign
1913: ---------------------------------------------------------------------------------------------------
1914: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1915: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1912: -- 4262811a Switch Sign
1913: ---------------------------------------------------------------------------------------------------
1914: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1915: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1920: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1913: ---------------------------------------------------------------------------------------------------
1914: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1915: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1920: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1921: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1914: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1915: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1920: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1921: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1922:
1916: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1920: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1921: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1922:
1923: END IF;
1924:
1917: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1918: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1919: -- 5132302
1920: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1921: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1922:
1923: END IF;
1924:
1925: -- 4955764
1922:
1923: END IF;
1924:
1925: -- 4955764
1926: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1927: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1928:
1929:
1930: XLA_AE_LINES_PKG.ValidateCurrentLine;
1926: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1927: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1928:
1929:
1930: XLA_AE_LINES_PKG.ValidateCurrentLine;
1931: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1932:
1933: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1934: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1927: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1928:
1929:
1930: XLA_AE_LINES_PKG.ValidateCurrentLine;
1931: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1932:
1933: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1934: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1935: ,p_balance_type_code => l_balance_type_code);
2382: l_first_event_id NUMBER;
2383: l_last_event_id NUMBER;
2384:
2385: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
2386: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2387: --
2388: --
2389: l_result BOOLEAN := TRUE;
2390: l_rows NUMBER := 1000;
2648: EXIT WHEN l_array_entity_id.COUNT = 0;
2649:
2650: -- initialize arrays
2651: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
2652: XLA_AE_LINES_PKG.g_rec_lines := NULL;
2653:
2654: --
2655: -- Bug 4458708
2656: --
2653:
2654: --
2655: -- Bug 4458708
2656: --
2657: XLA_AE_LINES_PKG.g_LineNumber := 0;
2658:
2659:
2660: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
2661: g_last_hdr_idx := l_array_event_id.LAST;
2785: --
2786: -- following sets the accounting attributes needed to reverse
2787: -- accounting for a distributeion
2788: --
2789: xla_ae_lines_pkg.SetTrxReversalAttrs
2790: (p_event_id => l_event_id
2791: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
2792: ,p_trx_reversal_source => l_trx_reversal_source);
2793:
2817: --
2818: -- insert dummy rows into lines gt table that were created due to
2819: -- transaction reversals
2820: --
2821: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
2822: l_result := XLA_AE_LINES_PKG.InsertLines;
2823: END IF;
2824:
2825: --
2818: -- insert dummy rows into lines gt table that were created due to
2819: -- transaction reversals
2820: --
2821: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
2822: l_result := XLA_AE_LINES_PKG.InsertLines;
2823: END IF;
2824:
2825: --
2826: -- reset the temp_line_num for each set of events fetched from header
2826: -- reset the temp_line_num for each set of events fetched from header
2827: -- cursor rather than doing it for each new event in line cursor
2828: -- Bug 3939231
2829: --
2830: xla_ae_lines_pkg.g_temp_line_num := 0;
2831:
2832:
2833:
2834: --
2898: END IF;
2899: --
2900: EXIT WHEN l_array_entity_id.count = 0;
2901:
2902: XLA_AE_LINES_PKG.g_rec_lines := null;
2903:
2904: --
2905: -- Bug 4458708
2906: --
2903:
2904: --
2905: -- Bug 4458708
2906: --
2907: XLA_AE_LINES_PKG.g_LineNumber := 0;
2908: --
2909: --
2910:
2911: FOR Idx IN 1..l_array_event_id.count LOOP
2975:
2976:
2977:
2978: --
2979: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
2980:
2981: l_acct_reversal_source := SUBSTR(l_array_source_4(Idx), 1,30);
2982:
2983: IF l_continue_with_lines THEN
3035: l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'UPG_DR_ENC_TYPE_ID';
3036: l_rec_rev_acct_attrs.array_num_value(13) := l_array_source_15(Idx);
3037:
3038:
3039: xla_ae_lines_pkg.SetAcctReversalAttrs
3040: (p_event_id => l_event_id
3041: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
3042: ,p_calculate_acctd_flag => l_calculate_acctd_flag
3043: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
3154:
3155: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
3156: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
3157: AND (l_actual_flag = 'A')) THEN
3158: XLA_AE_LINES_PKG.CreateGainOrLossLines(
3159: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3160: ,p_application_id => p_application_id
3161: ,p_amb_context_code => 'DEFAULT'
3162: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
3187: END IF;
3188: END IF;
3189:
3190: END LOOP;
3191: l_result := XLA_AE_LINES_PKG.InsertLines ;
3192: end loop;
3193: close line_cur;
3194:
3195:
3287:
3288: --
3289: -- initialize array of lines with NULL
3290: --
3291: xla_ae_lines_pkg.SetNullLine;
3292:
3293: --
3294: -- initialize header extract count -- Bug 4865292
3295: --