627: --
628: -- bulk performance
629: --
630: l_balance_type_code VARCHAR2(1);
631: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
632: l_log_module VARCHAR2(240);
633:
634: --
635: -- Upgrade strategy
696: ') <> 'Y'
697: THEN
698:
699: --
700: XLA_AE_LINES_PKG.SetNewLine;
701:
702: p_balance_type_code := l_balance_type_code;
703: -- set the flag so later we will know whether the gain loss line needs to be created
704:
708:
709: --
710: -- bulk performance
711: --
712: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
713: p_header_num => 0); -- 4262811
714: --
715: -- set accounting line options
716: --
713: p_header_num => 0); -- 4262811
714: --
715: -- set accounting line options
716: --
717: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
718: p_natural_side_code => 'C'
719: , p_gain_or_loss_flag => 'N'
720: , p_gl_transfer_mode_code => 'D'
721: , p_acct_entry_type_code => 'E'
727: --
728: --
729: -- set accounting line type info
730: --
731: xla_ae_lines_pkg.SetAcctLineType
732: (p_component_type => l_component_type
733: ,p_event_type_code => l_event_type_code
734: ,p_line_definition_owner_code => l_line_definition_owner_code
735: ,p_line_definition_code => l_line_definition_code
741: ,p_event_class_code => l_event_class_code);
742: --
743: -- set accounting class
744: --
745: xla_ae_lines_pkg.SetAcctClass(
746: p_accounting_class_code => 'PURCHASE_ORDER'
747: , p_ae_header_id => l_ae_header_id
748: );
749:
749:
750: --
751: -- set rounding class
752: --
753: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
754: 'PURCHASE_ORDER';
755:
756: --
757: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
753: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
754: 'PURCHASE_ORDER';
755:
756: --
757: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
758: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
759: --
760: -- bulk performance
761: --
754: 'PURCHASE_ORDER';
755:
756: --
757: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
758: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
759: --
760: -- bulk performance
761: --
762: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
758: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
759: --
760: -- bulk performance
761: --
762: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
763:
764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
765: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
766:
760: -- bulk performance
761: --
762: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
763:
764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
765: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
766:
767: -- 4955764
768: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
765: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
766:
767: -- 4955764
768: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
769: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
770:
771: -- 4458381 Public Sector Enh
772: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
768: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
769: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
770:
771: -- 4458381 Public Sector Enh
772: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
773: --
774: -- set accounting attributes for the line type
775: --
776: l_entered_amt_idx := 3;
786: l_rec_acct_attrs.array_char_value(4) := p_source_11;
787: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
788: l_rec_acct_attrs.array_num_value(5) := p_source_10;
789:
790: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
791: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
792:
793: ---------------------------------------------------------------------------------------------------------------
794: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
787: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
788: l_rec_acct_attrs.array_num_value(5) := p_source_10;
789:
790: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
791: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
792:
793: ---------------------------------------------------------------------------------------------------------------
794: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
795: ---------------------------------------------------------------------------------------------------------------
790: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
791: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
792:
793: ---------------------------------------------------------------------------------------------------------------
794: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
795: ---------------------------------------------------------------------------------------------------------------
796: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
797:
798: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
792:
793: ---------------------------------------------------------------------------------------------------------------
794: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
795: ---------------------------------------------------------------------------------------------------------------
796: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
797:
798: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
799: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
800:
794: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
795: ---------------------------------------------------------------------------------------------------------------
796: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
797:
798: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
799: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
800:
801: IF xla_accounting_cache_pkg.GetValueChar
802: (p_source_code => 'LEDGER_CATEGORY_CODE'
795: ---------------------------------------------------------------------------------------------------------------
796: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
797:
798: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
799: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
800:
801: IF xla_accounting_cache_pkg.GetValueChar
802: (p_source_code => 'LEDGER_CATEGORY_CODE'
803: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
806: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
807: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
808: )
809: THEN
810: xla_ae_lines_pkg.BflowUpgEntry
811: (p_business_method_code => l_bflow_method_code
812: ,p_business_class_code => l_bflow_class_code
813: ,p_balance_type => l_balance_type_code);
814: ELSE
823: --
824: -- call description
825: --
826:
827: xla_ae_lines_pkg.SetLineDescription(
828: p_ae_header_id => l_ae_header_id
829: ,p_description => Description_1 (
830: p_application_id => p_application_id
831: , p_ae_header_id => l_ae_header_id
856: , x_value_type_code => l_adr_value_type_code
857: , p_side => 'NA'
858: );
859:
860: xla_ae_lines_pkg.set_ccid(
861: p_code_combination_id => l_ccid
862: , p_value_type_code => l_adr_value_type_code
863: , p_transaction_coa_id => l_adr_transaction_coa_id
864: , p_accounting_coa_id => l_adr_accounting_coa_id
892: xla_accounting_err_pkg.build_message
893: (p_appli_s_name => 'XLA'
894: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
895: ,p_token_1 => 'LINE_NUMBER'
896: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
897: ,p_token_2 => 'LINE_TYPE_NAME'
898: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
899: l_component_type
900: ,l_component_code
928: --
929: --
930: ------------------------------------------------------------------------------------------------
931: -- 4219869 Business Flow
932: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
933: -- Prior Entry. Currently, the following code is always generated.
934: ------------------------------------------------------------------------------------------------
935: XLA_AE_LINES_PKG.ValidateCurrentLine;
936:
931: -- 4219869 Business Flow
932: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
933: -- Prior Entry. Currently, the following code is always generated.
934: ------------------------------------------------------------------------------------------------
935: XLA_AE_LINES_PKG.ValidateCurrentLine;
936:
937: ------------------------------------------------------------------------------------
938: -- 4219869 Business Flow
939: -- Populated credit and debit amounts -- Need to generate this within IF
937: ------------------------------------------------------------------------------------
938: -- 4219869 Business Flow
939: -- Populated credit and debit amounts -- Need to generate this within IF
940: ------------------------------------------------------------------------------------
941: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
942:
943: ----------------------------------------------------------------------------------
944: -- 4219869 Business Flow
945: -- Update journal entry status -- Need to generate this within IF
969: -- To allow MPA report to determine if it should generate report process
970: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
971: ------------------------------------------------------------------------------------------
972:
973: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
974: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
975:
976: --
977: -- Update the line information that should be overwritten
970: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
971: ------------------------------------------------------------------------------------------
972:
973: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
974: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
975:
976: --
977: -- Update the line information that should be overwritten
978: --
975:
976: --
977: -- Update the line information that should be overwritten
978: --
979: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
980: p_header_num => 1);
981: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
982:
983: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
977: -- Update the line information that should be overwritten
978: --
979: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
980: p_header_num => 1);
981: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
982:
983: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
984:
985: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
979: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
980: p_header_num => 1);
981: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
982:
983: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
984:
985: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
986: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
987: END IF;
982:
983: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
984:
985: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
986: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
987: END IF;
988:
989: --
990: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
989: --
990: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
991: --
992: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
993: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
994: ELSE
995: ---------------------------------------------------------------------------------------------------
996: -- 4262811a Switch Sign
997: ---------------------------------------------------------------------------------------------------
994: ELSE
995: ---------------------------------------------------------------------------------------------------
996: -- 4262811a Switch Sign
997: ---------------------------------------------------------------------------------------------------
998: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
999: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
995: ---------------------------------------------------------------------------------------------------
996: -- 4262811a Switch Sign
997: ---------------------------------------------------------------------------------------------------
998: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
999: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
996: -- 4262811a Switch Sign
997: ---------------------------------------------------------------------------------------------------
998: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
999: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
1004: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
997: ---------------------------------------------------------------------------------------------------
998: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
999: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
1004: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1005: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
998: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
999: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
1004: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1005: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1006:
1000: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
1004: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1005: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1006:
1007: END IF;
1008:
1001: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1002: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1003: -- 5132302
1004: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1005: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1006:
1007: END IF;
1008:
1009: -- 4955764
1006:
1007: END IF;
1008:
1009: -- 4955764
1010: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1011: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1012:
1013:
1014: XLA_AE_LINES_PKG.ValidateCurrentLine;
1010: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1011: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1012:
1013:
1014: XLA_AE_LINES_PKG.ValidateCurrentLine;
1015: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1016:
1017: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1018: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1011: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1012:
1013:
1014: XLA_AE_LINES_PKG.ValidateCurrentLine;
1015: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1016:
1017: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1018: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1019: ,p_balance_type_code => l_balance_type_code);
1150: --
1151: -- bulk performance
1152: --
1153: l_balance_type_code VARCHAR2(1);
1154: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
1155: l_log_module VARCHAR2(240);
1156:
1157: --
1158: -- Upgrade strategy
1219: ') <> 'Y'
1220: THEN
1221:
1222: --
1223: XLA_AE_LINES_PKG.SetNewLine;
1224:
1225: p_balance_type_code := l_balance_type_code;
1226: -- set the flag so later we will know whether the gain loss line needs to be created
1227:
1231:
1232: --
1233: -- bulk performance
1234: --
1235: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1236: p_header_num => 0); -- 4262811
1237: --
1238: -- set accounting line options
1239: --
1236: p_header_num => 0); -- 4262811
1237: --
1238: -- set accounting line options
1239: --
1240: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1241: p_natural_side_code => 'D'
1242: , p_gain_or_loss_flag => 'N'
1243: , p_gl_transfer_mode_code => 'D'
1244: , p_acct_entry_type_code => 'E'
1250: --
1251: --
1252: -- set accounting line type info
1253: --
1254: xla_ae_lines_pkg.SetAcctLineType
1255: (p_component_type => l_component_type
1256: ,p_event_type_code => l_event_type_code
1257: ,p_line_definition_owner_code => l_line_definition_owner_code
1258: ,p_line_definition_code => l_line_definition_code
1264: ,p_event_class_code => l_event_class_code);
1265: --
1266: -- set accounting class
1267: --
1268: xla_ae_lines_pkg.SetAcctClass(
1269: p_accounting_class_code => 'PURCHASE_ORDER'
1270: , p_ae_header_id => l_ae_header_id
1271: );
1272:
1272:
1273: --
1274: -- set rounding class
1275: --
1276: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1277: 'PURCHASE_ORDER';
1278:
1279: --
1280: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1276: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1277: 'PURCHASE_ORDER';
1278:
1279: --
1280: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1281: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1282: --
1283: -- bulk performance
1284: --
1277: 'PURCHASE_ORDER';
1278:
1279: --
1280: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1281: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1282: --
1283: -- bulk performance
1284: --
1285: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1281: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1282: --
1283: -- bulk performance
1284: --
1285: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1286:
1287: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1288: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1289:
1283: -- bulk performance
1284: --
1285: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1286:
1287: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1288: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1289:
1290: -- 4955764
1291: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1287: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1288: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1289:
1290: -- 4955764
1291: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1292: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1293:
1294: -- 4458381 Public Sector Enh
1295: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
1291: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1292: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1293:
1294: -- 4458381 Public Sector Enh
1295: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
1296: --
1297: -- set accounting attributes for the line type
1298: --
1299: l_entered_amt_idx := 8;
1319: l_rec_acct_attrs.array_char_value(9) := p_source_11;
1320: l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
1321: l_rec_acct_attrs.array_num_value(10) := p_source_10;
1322:
1323: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1324: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1325:
1326: ---------------------------------------------------------------------------------------------------------------
1327: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1320: l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
1321: l_rec_acct_attrs.array_num_value(10) := p_source_10;
1322:
1323: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1324: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1325:
1326: ---------------------------------------------------------------------------------------------------------------
1327: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1328: ---------------------------------------------------------------------------------------------------------------
1323: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1324: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1325:
1326: ---------------------------------------------------------------------------------------------------------------
1327: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1328: ---------------------------------------------------------------------------------------------------------------
1329: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1330:
1331: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1325:
1326: ---------------------------------------------------------------------------------------------------------------
1327: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1328: ---------------------------------------------------------------------------------------------------------------
1329: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1330:
1331: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1332: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1333:
1327: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1328: ---------------------------------------------------------------------------------------------------------------
1329: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1330:
1331: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1332: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1333:
1334: IF xla_accounting_cache_pkg.GetValueChar
1335: (p_source_code => 'LEDGER_CATEGORY_CODE'
1328: ---------------------------------------------------------------------------------------------------------------
1329: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1330:
1331: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1332: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1333:
1334: IF xla_accounting_cache_pkg.GetValueChar
1335: (p_source_code => 'LEDGER_CATEGORY_CODE'
1336: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1339: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1340: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1341: )
1342: THEN
1343: xla_ae_lines_pkg.BflowUpgEntry
1344: (p_business_method_code => l_bflow_method_code
1345: ,p_business_class_code => l_bflow_class_code
1346: ,p_balance_type => l_balance_type_code);
1347: ELSE
1356: --
1357: -- call description
1358: --
1359:
1360: xla_ae_lines_pkg.SetLineDescription(
1361: p_ae_header_id => l_ae_header_id
1362: ,p_description => Description_1 (
1363: p_application_id => p_application_id
1364: , p_ae_header_id => l_ae_header_id
1389: , x_value_type_code => l_adr_value_type_code
1390: , p_side => 'NA'
1391: );
1392:
1393: xla_ae_lines_pkg.set_ccid(
1394: p_code_combination_id => l_ccid
1395: , p_value_type_code => l_adr_value_type_code
1396: , p_transaction_coa_id => l_adr_transaction_coa_id
1397: , p_accounting_coa_id => l_adr_accounting_coa_id
1425: xla_accounting_err_pkg.build_message
1426: (p_appli_s_name => 'XLA'
1427: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1428: ,p_token_1 => 'LINE_NUMBER'
1429: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1430: ,p_token_2 => 'LINE_TYPE_NAME'
1431: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1432: l_component_type
1433: ,l_component_code
1461: --
1462: --
1463: ------------------------------------------------------------------------------------------------
1464: -- 4219869 Business Flow
1465: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1466: -- Prior Entry. Currently, the following code is always generated.
1467: ------------------------------------------------------------------------------------------------
1468: XLA_AE_LINES_PKG.ValidateCurrentLine;
1469:
1464: -- 4219869 Business Flow
1465: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1466: -- Prior Entry. Currently, the following code is always generated.
1467: ------------------------------------------------------------------------------------------------
1468: XLA_AE_LINES_PKG.ValidateCurrentLine;
1469:
1470: ------------------------------------------------------------------------------------
1471: -- 4219869 Business Flow
1472: -- Populated credit and debit amounts -- Need to generate this within IF
1470: ------------------------------------------------------------------------------------
1471: -- 4219869 Business Flow
1472: -- Populated credit and debit amounts -- Need to generate this within IF
1473: ------------------------------------------------------------------------------------
1474: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1475:
1476: ----------------------------------------------------------------------------------
1477: -- 4219869 Business Flow
1478: -- Update journal entry status -- Need to generate this within IF
1502: -- To allow MPA report to determine if it should generate report process
1503: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1504: ------------------------------------------------------------------------------------------
1505:
1506: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1507: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1508:
1509: --
1510: -- Update the line information that should be overwritten
1503: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1504: ------------------------------------------------------------------------------------------
1505:
1506: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1507: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1508:
1509: --
1510: -- Update the line information that should be overwritten
1511: --
1508:
1509: --
1510: -- Update the line information that should be overwritten
1511: --
1512: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1513: p_header_num => 1);
1514: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1515:
1516: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1510: -- Update the line information that should be overwritten
1511: --
1512: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1513: p_header_num => 1);
1514: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1515:
1516: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1517:
1518: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1512: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1513: p_header_num => 1);
1514: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1515:
1516: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1517:
1518: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1519: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1520: END IF;
1515:
1516: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1517:
1518: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1519: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1520: END IF;
1521:
1522: --
1523: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1522: --
1523: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1524: --
1525: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
1526: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
1527: ELSE
1528: ---------------------------------------------------------------------------------------------------
1529: -- 4262811a Switch Sign
1530: ---------------------------------------------------------------------------------------------------
1527: ELSE
1528: ---------------------------------------------------------------------------------------------------
1529: -- 4262811a Switch Sign
1530: ---------------------------------------------------------------------------------------------------
1531: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1532: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1528: ---------------------------------------------------------------------------------------------------
1529: -- 4262811a Switch Sign
1530: ---------------------------------------------------------------------------------------------------
1531: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1532: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1529: -- 4262811a Switch Sign
1530: ---------------------------------------------------------------------------------------------------
1531: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1532: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1537: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1530: ---------------------------------------------------------------------------------------------------
1531: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1532: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1537: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1538: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1531: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1532: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1537: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1538: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1539:
1533: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1537: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1538: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1539:
1540: END IF;
1541:
1534: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1535: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1536: -- 5132302
1537: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1538: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1539:
1540: END IF;
1541:
1542: -- 4955764
1539:
1540: END IF;
1541:
1542: -- 4955764
1543: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1544: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1545:
1546:
1547: XLA_AE_LINES_PKG.ValidateCurrentLine;
1543: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1544: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1545:
1546:
1547: XLA_AE_LINES_PKG.ValidateCurrentLine;
1548: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1549:
1550: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1551: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1544: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1545:
1546:
1547: XLA_AE_LINES_PKG.ValidateCurrentLine;
1548: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1549:
1550: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1551: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1552: ,p_balance_type_code => l_balance_type_code);
1673: --
1674: -- bulk performance
1675: --
1676: l_balance_type_code VARCHAR2(1);
1677: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
1678: l_log_module VARCHAR2(240);
1679:
1680: --
1681: -- Upgrade strategy
1742: ') = 'Y'
1743: THEN
1744:
1745: --
1746: XLA_AE_LINES_PKG.SetNewLine;
1747:
1748: p_balance_type_code := l_balance_type_code;
1749: -- set the flag so later we will know whether the gain loss line needs to be created
1750:
1754:
1755: --
1756: -- bulk performance
1757: --
1758: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1759: p_header_num => 0); -- 4262811
1760: --
1761: -- set accounting line options
1762: --
1759: p_header_num => 0); -- 4262811
1760: --
1761: -- set accounting line options
1762: --
1763: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1764: p_natural_side_code => 'C'
1765: , p_gain_or_loss_flag => 'N'
1766: , p_gl_transfer_mode_code => 'D'
1767: , p_acct_entry_type_code => 'E'
1773: --
1774: --
1775: -- set accounting line type info
1776: --
1777: xla_ae_lines_pkg.SetAcctLineType
1778: (p_component_type => l_component_type
1779: ,p_event_type_code => l_event_type_code
1780: ,p_line_definition_owner_code => l_line_definition_owner_code
1781: ,p_line_definition_code => l_line_definition_code
1787: ,p_event_class_code => l_event_class_code);
1788: --
1789: -- set accounting class
1790: --
1791: xla_ae_lines_pkg.SetAcctClass(
1792: p_accounting_class_code => 'PURCHASE_ORDER'
1793: , p_ae_header_id => l_ae_header_id
1794: );
1795:
1795:
1796: --
1797: -- set rounding class
1798: --
1799: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1800: 'PURCHASE_ORDER';
1801:
1802: --
1803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1799: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1800: 'PURCHASE_ORDER';
1801:
1802: --
1803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1805: --
1806: -- bulk performance
1807: --
1800: 'PURCHASE_ORDER';
1801:
1802: --
1803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1805: --
1806: -- bulk performance
1807: --
1808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1805: --
1806: -- bulk performance
1807: --
1808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1809:
1810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1812:
1806: -- bulk performance
1807: --
1808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1809:
1810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1812:
1813: -- 4955764
1814: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1812:
1813: -- 4955764
1814: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1815: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1816:
1817: -- 4458381 Public Sector Enh
1818: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
1814: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1815: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1816:
1817: -- 4458381 Public Sector Enh
1818: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
1819: --
1820: -- set accounting attributes for the line type
1821: --
1822: l_entered_amt_idx := 3;
1832: l_rec_acct_attrs.array_char_value(4) := p_source_11;
1833: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
1834: l_rec_acct_attrs.array_num_value(5) := p_source_10;
1835:
1836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1838:
1839: ---------------------------------------------------------------------------------------------------------------
1840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1833: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
1834: l_rec_acct_attrs.array_num_value(5) := p_source_10;
1835:
1836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1838:
1839: ---------------------------------------------------------------------------------------------------------------
1840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1841: ---------------------------------------------------------------------------------------------------------------
1836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1838:
1839: ---------------------------------------------------------------------------------------------------------------
1840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1841: ---------------------------------------------------------------------------------------------------------------
1842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1843:
1844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1838:
1839: ---------------------------------------------------------------------------------------------------------------
1840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1841: ---------------------------------------------------------------------------------------------------------------
1842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1843:
1844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1846:
1840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1841: ---------------------------------------------------------------------------------------------------------------
1842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1843:
1844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1846:
1847: IF xla_accounting_cache_pkg.GetValueChar
1848: (p_source_code => 'LEDGER_CATEGORY_CODE'
1841: ---------------------------------------------------------------------------------------------------------------
1842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1843:
1844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1846:
1847: IF xla_accounting_cache_pkg.GetValueChar
1848: (p_source_code => 'LEDGER_CATEGORY_CODE'
1849: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1852: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1853: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1854: )
1855: THEN
1856: xla_ae_lines_pkg.BflowUpgEntry
1857: (p_business_method_code => l_bflow_method_code
1858: ,p_business_class_code => l_bflow_class_code
1859: ,p_balance_type => l_balance_type_code);
1860: ELSE
1869: --
1870: -- call description
1871: --
1872:
1873: xla_ae_lines_pkg.SetLineDescription(
1874: p_ae_header_id => l_ae_header_id
1875: ,p_description => Description_1 (
1876: p_application_id => p_application_id
1877: , p_ae_header_id => l_ae_header_id
1902: , x_value_type_code => l_adr_value_type_code
1903: , p_side => 'NA'
1904: );
1905:
1906: xla_ae_lines_pkg.set_ccid(
1907: p_code_combination_id => l_ccid
1908: , p_value_type_code => l_adr_value_type_code
1909: , p_transaction_coa_id => l_adr_transaction_coa_id
1910: , p_accounting_coa_id => l_adr_accounting_coa_id
1938: xla_accounting_err_pkg.build_message
1939: (p_appli_s_name => 'XLA'
1940: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1941: ,p_token_1 => 'LINE_NUMBER'
1942: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1943: ,p_token_2 => 'LINE_TYPE_NAME'
1944: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1945: l_component_type
1946: ,l_component_code
1974: --
1975: --
1976: ------------------------------------------------------------------------------------------------
1977: -- 4219869 Business Flow
1978: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1979: -- Prior Entry. Currently, the following code is always generated.
1980: ------------------------------------------------------------------------------------------------
1981: XLA_AE_LINES_PKG.ValidateCurrentLine;
1982:
1977: -- 4219869 Business Flow
1978: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1979: -- Prior Entry. Currently, the following code is always generated.
1980: ------------------------------------------------------------------------------------------------
1981: XLA_AE_LINES_PKG.ValidateCurrentLine;
1982:
1983: ------------------------------------------------------------------------------------
1984: -- 4219869 Business Flow
1985: -- Populated credit and debit amounts -- Need to generate this within IF
1983: ------------------------------------------------------------------------------------
1984: -- 4219869 Business Flow
1985: -- Populated credit and debit amounts -- Need to generate this within IF
1986: ------------------------------------------------------------------------------------
1987: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1988:
1989: ----------------------------------------------------------------------------------
1990: -- 4219869 Business Flow
1991: -- Update journal entry status -- Need to generate this within IF
2015: -- To allow MPA report to determine if it should generate report process
2016: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2017: ------------------------------------------------------------------------------------------
2018:
2019: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2020: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2021:
2022: --
2023: -- Update the line information that should be overwritten
2016: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2017: ------------------------------------------------------------------------------------------
2018:
2019: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2020: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2021:
2022: --
2023: -- Update the line information that should be overwritten
2024: --
2021:
2022: --
2023: -- Update the line information that should be overwritten
2024: --
2025: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2026: p_header_num => 1);
2027: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2028:
2029: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2023: -- Update the line information that should be overwritten
2024: --
2025: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2026: p_header_num => 1);
2027: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2028:
2029: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2030:
2031: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2025: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2026: p_header_num => 1);
2027: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2028:
2029: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2030:
2031: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2032: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2033: END IF;
2028:
2029: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2030:
2031: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2032: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2033: END IF;
2034:
2035: --
2036: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2035: --
2036: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2037: --
2038: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2039: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2040: ELSE
2041: ---------------------------------------------------------------------------------------------------
2042: -- 4262811a Switch Sign
2043: ---------------------------------------------------------------------------------------------------
2040: ELSE
2041: ---------------------------------------------------------------------------------------------------
2042: -- 4262811a Switch Sign
2043: ---------------------------------------------------------------------------------------------------
2044: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2045: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2041: ---------------------------------------------------------------------------------------------------
2042: -- 4262811a Switch Sign
2043: ---------------------------------------------------------------------------------------------------
2044: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2045: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2042: -- 4262811a Switch Sign
2043: ---------------------------------------------------------------------------------------------------
2044: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2045: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2050: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2043: ---------------------------------------------------------------------------------------------------
2044: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2045: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2050: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2051: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2044: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2045: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2050: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2051: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2052:
2046: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2050: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2051: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2052:
2053: END IF;
2054:
2047: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2048: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2049: -- 5132302
2050: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2051: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2052:
2053: END IF;
2054:
2055: -- 4955764
2052:
2053: END IF;
2054:
2055: -- 4955764
2056: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2057: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2058:
2059:
2060: XLA_AE_LINES_PKG.ValidateCurrentLine;
2056: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2057: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2058:
2059:
2060: XLA_AE_LINES_PKG.ValidateCurrentLine;
2061: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2062:
2063: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2064: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2057: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2058:
2059:
2060: XLA_AE_LINES_PKG.ValidateCurrentLine;
2061: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2062:
2063: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2064: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2065: ,p_balance_type_code => l_balance_type_code);
2186: --
2187: -- bulk performance
2188: --
2189: l_balance_type_code VARCHAR2(1);
2190: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2191: l_log_module VARCHAR2(240);
2192:
2193: --
2194: -- Upgrade strategy
2255: ') = 'Y'
2256: THEN
2257:
2258: --
2259: XLA_AE_LINES_PKG.SetNewLine;
2260:
2261: p_balance_type_code := l_balance_type_code;
2262: -- set the flag so later we will know whether the gain loss line needs to be created
2263:
2267:
2268: --
2269: -- bulk performance
2270: --
2271: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2272: p_header_num => 0); -- 4262811
2273: --
2274: -- set accounting line options
2275: --
2272: p_header_num => 0); -- 4262811
2273: --
2274: -- set accounting line options
2275: --
2276: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2277: p_natural_side_code => 'D'
2278: , p_gain_or_loss_flag => 'N'
2279: , p_gl_transfer_mode_code => 'D'
2280: , p_acct_entry_type_code => 'E'
2286: --
2287: --
2288: -- set accounting line type info
2289: --
2290: xla_ae_lines_pkg.SetAcctLineType
2291: (p_component_type => l_component_type
2292: ,p_event_type_code => l_event_type_code
2293: ,p_line_definition_owner_code => l_line_definition_owner_code
2294: ,p_line_definition_code => l_line_definition_code
2300: ,p_event_class_code => l_event_class_code);
2301: --
2302: -- set accounting class
2303: --
2304: xla_ae_lines_pkg.SetAcctClass(
2305: p_accounting_class_code => 'PURCHASE_ORDER'
2306: , p_ae_header_id => l_ae_header_id
2307: );
2308:
2308:
2309: --
2310: -- set rounding class
2311: --
2312: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2313: 'PURCHASE_ORDER';
2314:
2315: --
2316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2312: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2313: 'PURCHASE_ORDER';
2314:
2315: --
2316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2318: --
2319: -- bulk performance
2320: --
2313: 'PURCHASE_ORDER';
2314:
2315: --
2316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2318: --
2319: -- bulk performance
2320: --
2321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2318: --
2319: -- bulk performance
2320: --
2321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2322:
2323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2325:
2319: -- bulk performance
2320: --
2321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2322:
2323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2325:
2326: -- 4955764
2327: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2325:
2326: -- 4955764
2327: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2328: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2329:
2330: -- 4458381 Public Sector Enh
2331: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
2327: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2328: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2329:
2330: -- 4458381 Public Sector Enh
2331: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
2332: --
2333: -- set accounting attributes for the line type
2334: --
2335: l_entered_amt_idx := 3;
2345: l_rec_acct_attrs.array_char_value(4) := p_source_11;
2346: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
2347: l_rec_acct_attrs.array_num_value(5) := p_source_10;
2348:
2349: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2350: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2351:
2352: ---------------------------------------------------------------------------------------------------------------
2353: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2346: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
2347: l_rec_acct_attrs.array_num_value(5) := p_source_10;
2348:
2349: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2350: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2351:
2352: ---------------------------------------------------------------------------------------------------------------
2353: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2354: ---------------------------------------------------------------------------------------------------------------
2349: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2350: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2351:
2352: ---------------------------------------------------------------------------------------------------------------
2353: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2354: ---------------------------------------------------------------------------------------------------------------
2355: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2356:
2357: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2351:
2352: ---------------------------------------------------------------------------------------------------------------
2353: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2354: ---------------------------------------------------------------------------------------------------------------
2355: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2356:
2357: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2358: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2359:
2353: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2354: ---------------------------------------------------------------------------------------------------------------
2355: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2356:
2357: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2358: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2359:
2360: IF xla_accounting_cache_pkg.GetValueChar
2361: (p_source_code => 'LEDGER_CATEGORY_CODE'
2354: ---------------------------------------------------------------------------------------------------------------
2355: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2356:
2357: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2358: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2359:
2360: IF xla_accounting_cache_pkg.GetValueChar
2361: (p_source_code => 'LEDGER_CATEGORY_CODE'
2362: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2365: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2366: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2367: )
2368: THEN
2369: xla_ae_lines_pkg.BflowUpgEntry
2370: (p_business_method_code => l_bflow_method_code
2371: ,p_business_class_code => l_bflow_class_code
2372: ,p_balance_type => l_balance_type_code);
2373: ELSE
2382: --
2383: -- call description
2384: --
2385:
2386: xla_ae_lines_pkg.SetLineDescription(
2387: p_ae_header_id => l_ae_header_id
2388: ,p_description => Description_1 (
2389: p_application_id => p_application_id
2390: , p_ae_header_id => l_ae_header_id
2415: , x_value_type_code => l_adr_value_type_code
2416: , p_side => 'NA'
2417: );
2418:
2419: xla_ae_lines_pkg.set_ccid(
2420: p_code_combination_id => l_ccid
2421: , p_value_type_code => l_adr_value_type_code
2422: , p_transaction_coa_id => l_adr_transaction_coa_id
2423: , p_accounting_coa_id => l_adr_accounting_coa_id
2451: xla_accounting_err_pkg.build_message
2452: (p_appli_s_name => 'XLA'
2453: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2454: ,p_token_1 => 'LINE_NUMBER'
2455: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2456: ,p_token_2 => 'LINE_TYPE_NAME'
2457: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2458: l_component_type
2459: ,l_component_code
2487: --
2488: --
2489: ------------------------------------------------------------------------------------------------
2490: -- 4219869 Business Flow
2491: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2492: -- Prior Entry. Currently, the following code is always generated.
2493: ------------------------------------------------------------------------------------------------
2494: XLA_AE_LINES_PKG.ValidateCurrentLine;
2495:
2490: -- 4219869 Business Flow
2491: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2492: -- Prior Entry. Currently, the following code is always generated.
2493: ------------------------------------------------------------------------------------------------
2494: XLA_AE_LINES_PKG.ValidateCurrentLine;
2495:
2496: ------------------------------------------------------------------------------------
2497: -- 4219869 Business Flow
2498: -- Populated credit and debit amounts -- Need to generate this within IF
2496: ------------------------------------------------------------------------------------
2497: -- 4219869 Business Flow
2498: -- Populated credit and debit amounts -- Need to generate this within IF
2499: ------------------------------------------------------------------------------------
2500: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2501:
2502: ----------------------------------------------------------------------------------
2503: -- 4219869 Business Flow
2504: -- Update journal entry status -- Need to generate this within IF
2528: -- To allow MPA report to determine if it should generate report process
2529: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2530: ------------------------------------------------------------------------------------------
2531:
2532: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2533: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2534:
2535: --
2536: -- Update the line information that should be overwritten
2529: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2530: ------------------------------------------------------------------------------------------
2531:
2532: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2533: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2534:
2535: --
2536: -- Update the line information that should be overwritten
2537: --
2534:
2535: --
2536: -- Update the line information that should be overwritten
2537: --
2538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2539: p_header_num => 1);
2540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2541:
2542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2536: -- Update the line information that should be overwritten
2537: --
2538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2539: p_header_num => 1);
2540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2541:
2542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2543:
2544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2539: p_header_num => 1);
2540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2541:
2542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2543:
2544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2545: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2546: END IF;
2541:
2542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2543:
2544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2545: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2546: END IF;
2547:
2548: --
2549: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2548: --
2549: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2550: --
2551: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2552: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2553: ELSE
2554: ---------------------------------------------------------------------------------------------------
2555: -- 4262811a Switch Sign
2556: ---------------------------------------------------------------------------------------------------
2553: ELSE
2554: ---------------------------------------------------------------------------------------------------
2555: -- 4262811a Switch Sign
2556: ---------------------------------------------------------------------------------------------------
2557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2554: ---------------------------------------------------------------------------------------------------
2555: -- 4262811a Switch Sign
2556: ---------------------------------------------------------------------------------------------------
2557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2555: -- 4262811a Switch Sign
2556: ---------------------------------------------------------------------------------------------------
2557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2556: ---------------------------------------------------------------------------------------------------
2557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2565:
2559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2565:
2566: END IF;
2567:
2560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2562: -- 5132302
2563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2565:
2566: END IF;
2567:
2568: -- 4955764
2565:
2566: END IF;
2567:
2568: -- 4955764
2569: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2571:
2572:
2573: XLA_AE_LINES_PKG.ValidateCurrentLine;
2569: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2571:
2572:
2573: XLA_AE_LINES_PKG.ValidateCurrentLine;
2574: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2575:
2576: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2577: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2571:
2572:
2573: XLA_AE_LINES_PKG.ValidateCurrentLine;
2574: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2575:
2576: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2577: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2578: ,p_balance_type_code => l_balance_type_code);
2699: --
2700: -- bulk performance
2701: --
2702: l_balance_type_code VARCHAR2(1);
2703: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2704: l_log_module VARCHAR2(240);
2705:
2706: --
2707: -- Upgrade strategy
2768: ') <> 'Y'
2769: THEN
2770:
2771: --
2772: XLA_AE_LINES_PKG.SetNewLine;
2773:
2774: p_balance_type_code := l_balance_type_code;
2775: -- set the flag so later we will know whether the gain loss line needs to be created
2776:
2780:
2781: --
2782: -- bulk performance
2783: --
2784: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2785: p_header_num => 0); -- 4262811
2786: --
2787: -- set accounting line options
2788: --
2785: p_header_num => 0); -- 4262811
2786: --
2787: -- set accounting line options
2788: --
2789: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2790: p_natural_side_code => 'C'
2791: , p_gain_or_loss_flag => 'N'
2792: , p_gl_transfer_mode_code => 'D'
2793: , p_acct_entry_type_code => 'E'
2799: --
2800: --
2801: -- set accounting line type info
2802: --
2803: xla_ae_lines_pkg.SetAcctLineType
2804: (p_component_type => l_component_type
2805: ,p_event_type_code => l_event_type_code
2806: ,p_line_definition_owner_code => l_line_definition_owner_code
2807: ,p_line_definition_code => l_line_definition_code
2813: ,p_event_class_code => l_event_class_code);
2814: --
2815: -- set accounting class
2816: --
2817: xla_ae_lines_pkg.SetAcctClass(
2818: p_accounting_class_code => 'REQUISITION'
2819: , p_ae_header_id => l_ae_header_id
2820: );
2821:
2821:
2822: --
2823: -- set rounding class
2824: --
2825: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2826: 'REQUISITION';
2827:
2828: --
2829: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2825: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2826: 'REQUISITION';
2827:
2828: --
2829: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2830: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2831: --
2832: -- bulk performance
2833: --
2826: 'REQUISITION';
2827:
2828: --
2829: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2830: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2831: --
2832: -- bulk performance
2833: --
2834: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2830: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2831: --
2832: -- bulk performance
2833: --
2834: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2835:
2836: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2837: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2838:
2832: -- bulk performance
2833: --
2834: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2835:
2836: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2837: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2838:
2839: -- 4955764
2840: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2836: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2837: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2838:
2839: -- 4955764
2840: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2841: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2842:
2843: -- 4458381 Public Sector Enh
2844: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
2840: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2841: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2842:
2843: -- 4458381 Public Sector Enh
2844: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
2845: --
2846: -- set accounting attributes for the line type
2847: --
2848: l_entered_amt_idx := 3;
2858: l_rec_acct_attrs.array_char_value(4) := p_source_11;
2859: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
2860: l_rec_acct_attrs.array_num_value(5) := p_source_10;
2861:
2862: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2863: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2864:
2865: ---------------------------------------------------------------------------------------------------------------
2866: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2859: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
2860: l_rec_acct_attrs.array_num_value(5) := p_source_10;
2861:
2862: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2863: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2864:
2865: ---------------------------------------------------------------------------------------------------------------
2866: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2867: ---------------------------------------------------------------------------------------------------------------
2862: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2863: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2864:
2865: ---------------------------------------------------------------------------------------------------------------
2866: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2867: ---------------------------------------------------------------------------------------------------------------
2868: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2869:
2870: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2864:
2865: ---------------------------------------------------------------------------------------------------------------
2866: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2867: ---------------------------------------------------------------------------------------------------------------
2868: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2869:
2870: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2872:
2866: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2867: ---------------------------------------------------------------------------------------------------------------
2868: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2869:
2870: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2872:
2873: IF xla_accounting_cache_pkg.GetValueChar
2874: (p_source_code => 'LEDGER_CATEGORY_CODE'
2867: ---------------------------------------------------------------------------------------------------------------
2868: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2869:
2870: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2872:
2873: IF xla_accounting_cache_pkg.GetValueChar
2874: (p_source_code => 'LEDGER_CATEGORY_CODE'
2875: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2878: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2879: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2880: )
2881: THEN
2882: xla_ae_lines_pkg.BflowUpgEntry
2883: (p_business_method_code => l_bflow_method_code
2884: ,p_business_class_code => l_bflow_class_code
2885: ,p_balance_type => l_balance_type_code);
2886: ELSE
2895: --
2896: -- call description
2897: --
2898:
2899: xla_ae_lines_pkg.SetLineDescription(
2900: p_ae_header_id => l_ae_header_id
2901: ,p_description => Description_1 (
2902: p_application_id => p_application_id
2903: , p_ae_header_id => l_ae_header_id
2928: , x_value_type_code => l_adr_value_type_code
2929: , p_side => 'NA'
2930: );
2931:
2932: xla_ae_lines_pkg.set_ccid(
2933: p_code_combination_id => l_ccid
2934: , p_value_type_code => l_adr_value_type_code
2935: , p_transaction_coa_id => l_adr_transaction_coa_id
2936: , p_accounting_coa_id => l_adr_accounting_coa_id
2964: xla_accounting_err_pkg.build_message
2965: (p_appli_s_name => 'XLA'
2966: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2967: ,p_token_1 => 'LINE_NUMBER'
2968: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2969: ,p_token_2 => 'LINE_TYPE_NAME'
2970: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2971: l_component_type
2972: ,l_component_code
3000: --
3001: --
3002: ------------------------------------------------------------------------------------------------
3003: -- 4219869 Business Flow
3004: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3005: -- Prior Entry. Currently, the following code is always generated.
3006: ------------------------------------------------------------------------------------------------
3007: XLA_AE_LINES_PKG.ValidateCurrentLine;
3008:
3003: -- 4219869 Business Flow
3004: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3005: -- Prior Entry. Currently, the following code is always generated.
3006: ------------------------------------------------------------------------------------------------
3007: XLA_AE_LINES_PKG.ValidateCurrentLine;
3008:
3009: ------------------------------------------------------------------------------------
3010: -- 4219869 Business Flow
3011: -- Populated credit and debit amounts -- Need to generate this within IF
3009: ------------------------------------------------------------------------------------
3010: -- 4219869 Business Flow
3011: -- Populated credit and debit amounts -- Need to generate this within IF
3012: ------------------------------------------------------------------------------------
3013: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3014:
3015: ----------------------------------------------------------------------------------
3016: -- 4219869 Business Flow
3017: -- Update journal entry status -- Need to generate this within IF
3041: -- To allow MPA report to determine if it should generate report process
3042: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3043: ------------------------------------------------------------------------------------------
3044:
3045: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3046: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3047:
3048: --
3049: -- Update the line information that should be overwritten
3042: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3043: ------------------------------------------------------------------------------------------
3044:
3045: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3046: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3047:
3048: --
3049: -- Update the line information that should be overwritten
3050: --
3047:
3048: --
3049: -- Update the line information that should be overwritten
3050: --
3051: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3052: p_header_num => 1);
3053: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3054:
3055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3049: -- Update the line information that should be overwritten
3050: --
3051: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3052: p_header_num => 1);
3053: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3054:
3055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3056:
3057: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3051: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3052: p_header_num => 1);
3053: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3054:
3055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3056:
3057: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3058: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3059: END IF;
3054:
3055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3056:
3057: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3058: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3059: END IF;
3060:
3061: --
3062: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3061: --
3062: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3063: --
3064: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3065: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3066: ELSE
3067: ---------------------------------------------------------------------------------------------------
3068: -- 4262811a Switch Sign
3069: ---------------------------------------------------------------------------------------------------
3066: ELSE
3067: ---------------------------------------------------------------------------------------------------
3068: -- 4262811a Switch Sign
3069: ---------------------------------------------------------------------------------------------------
3070: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3071: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3067: ---------------------------------------------------------------------------------------------------
3068: -- 4262811a Switch Sign
3069: ---------------------------------------------------------------------------------------------------
3070: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3071: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3068: -- 4262811a Switch Sign
3069: ---------------------------------------------------------------------------------------------------
3070: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3071: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3076: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3069: ---------------------------------------------------------------------------------------------------
3070: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3071: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3076: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3077: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3070: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3071: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3076: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3077: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3078:
3072: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3076: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3077: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3078:
3079: END IF;
3080:
3073: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3074: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3075: -- 5132302
3076: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3077: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3078:
3079: END IF;
3080:
3081: -- 4955764
3078:
3079: END IF;
3080:
3081: -- 4955764
3082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3083: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3084:
3085:
3086: XLA_AE_LINES_PKG.ValidateCurrentLine;
3082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3083: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3084:
3085:
3086: XLA_AE_LINES_PKG.ValidateCurrentLine;
3087: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3088:
3089: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3090: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3083: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3084:
3085:
3086: XLA_AE_LINES_PKG.ValidateCurrentLine;
3087: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3088:
3089: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3090: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3091: ,p_balance_type_code => l_balance_type_code);
3212: --
3213: -- bulk performance
3214: --
3215: l_balance_type_code VARCHAR2(1);
3216: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3217: l_log_module VARCHAR2(240);
3218:
3219: --
3220: -- Upgrade strategy
3281: ') <> 'Y'
3282: THEN
3283:
3284: --
3285: XLA_AE_LINES_PKG.SetNewLine;
3286:
3287: p_balance_type_code := l_balance_type_code;
3288: -- set the flag so later we will know whether the gain loss line needs to be created
3289:
3293:
3294: --
3295: -- bulk performance
3296: --
3297: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3298: p_header_num => 0); -- 4262811
3299: --
3300: -- set accounting line options
3301: --
3298: p_header_num => 0); -- 4262811
3299: --
3300: -- set accounting line options
3301: --
3302: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3303: p_natural_side_code => 'D'
3304: , p_gain_or_loss_flag => 'N'
3305: , p_gl_transfer_mode_code => 'D'
3306: , p_acct_entry_type_code => 'E'
3312: --
3313: --
3314: -- set accounting line type info
3315: --
3316: xla_ae_lines_pkg.SetAcctLineType
3317: (p_component_type => l_component_type
3318: ,p_event_type_code => l_event_type_code
3319: ,p_line_definition_owner_code => l_line_definition_owner_code
3320: ,p_line_definition_code => l_line_definition_code
3326: ,p_event_class_code => l_event_class_code);
3327: --
3328: -- set accounting class
3329: --
3330: xla_ae_lines_pkg.SetAcctClass(
3331: p_accounting_class_code => 'REQUISITION'
3332: , p_ae_header_id => l_ae_header_id
3333: );
3334:
3334:
3335: --
3336: -- set rounding class
3337: --
3338: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3339: 'REQUISITION';
3340:
3341: --
3342: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3338: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3339: 'REQUISITION';
3340:
3341: --
3342: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3343: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3344: --
3345: -- bulk performance
3346: --
3339: 'REQUISITION';
3340:
3341: --
3342: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3343: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3344: --
3345: -- bulk performance
3346: --
3347: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3343: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3344: --
3345: -- bulk performance
3346: --
3347: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3348:
3349: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3350: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3351:
3345: -- bulk performance
3346: --
3347: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3348:
3349: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3350: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3351:
3352: -- 4955764
3353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3349: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3350: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3351:
3352: -- 4955764
3353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3355:
3356: -- 4458381 Public Sector Enh
3357: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
3353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3355:
3356: -- 4458381 Public Sector Enh
3357: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
3358: --
3359: -- set accounting attributes for the line type
3360: --
3361: l_entered_amt_idx := 3;
3371: l_rec_acct_attrs.array_char_value(4) := p_source_11;
3372: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
3373: l_rec_acct_attrs.array_num_value(5) := p_source_10;
3374:
3375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3377:
3378: ---------------------------------------------------------------------------------------------------------------
3379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3372: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
3373: l_rec_acct_attrs.array_num_value(5) := p_source_10;
3374:
3375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3377:
3378: ---------------------------------------------------------------------------------------------------------------
3379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3380: ---------------------------------------------------------------------------------------------------------------
3375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3377:
3378: ---------------------------------------------------------------------------------------------------------------
3379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3380: ---------------------------------------------------------------------------------------------------------------
3381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3382:
3383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3377:
3378: ---------------------------------------------------------------------------------------------------------------
3379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3380: ---------------------------------------------------------------------------------------------------------------
3381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3382:
3383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3385:
3379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3380: ---------------------------------------------------------------------------------------------------------------
3381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3382:
3383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3385:
3386: IF xla_accounting_cache_pkg.GetValueChar
3387: (p_source_code => 'LEDGER_CATEGORY_CODE'
3380: ---------------------------------------------------------------------------------------------------------------
3381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3382:
3383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3385:
3386: IF xla_accounting_cache_pkg.GetValueChar
3387: (p_source_code => 'LEDGER_CATEGORY_CODE'
3388: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3391: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3392: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3393: )
3394: THEN
3395: xla_ae_lines_pkg.BflowUpgEntry
3396: (p_business_method_code => l_bflow_method_code
3397: ,p_business_class_code => l_bflow_class_code
3398: ,p_balance_type => l_balance_type_code);
3399: ELSE
3408: --
3409: -- call description
3410: --
3411:
3412: xla_ae_lines_pkg.SetLineDescription(
3413: p_ae_header_id => l_ae_header_id
3414: ,p_description => Description_1 (
3415: p_application_id => p_application_id
3416: , p_ae_header_id => l_ae_header_id
3441: , x_value_type_code => l_adr_value_type_code
3442: , p_side => 'NA'
3443: );
3444:
3445: xla_ae_lines_pkg.set_ccid(
3446: p_code_combination_id => l_ccid
3447: , p_value_type_code => l_adr_value_type_code
3448: , p_transaction_coa_id => l_adr_transaction_coa_id
3449: , p_accounting_coa_id => l_adr_accounting_coa_id
3477: xla_accounting_err_pkg.build_message
3478: (p_appli_s_name => 'XLA'
3479: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3480: ,p_token_1 => 'LINE_NUMBER'
3481: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3482: ,p_token_2 => 'LINE_TYPE_NAME'
3483: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3484: l_component_type
3485: ,l_component_code
3513: --
3514: --
3515: ------------------------------------------------------------------------------------------------
3516: -- 4219869 Business Flow
3517: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3518: -- Prior Entry. Currently, the following code is always generated.
3519: ------------------------------------------------------------------------------------------------
3520: XLA_AE_LINES_PKG.ValidateCurrentLine;
3521:
3516: -- 4219869 Business Flow
3517: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3518: -- Prior Entry. Currently, the following code is always generated.
3519: ------------------------------------------------------------------------------------------------
3520: XLA_AE_LINES_PKG.ValidateCurrentLine;
3521:
3522: ------------------------------------------------------------------------------------
3523: -- 4219869 Business Flow
3524: -- Populated credit and debit amounts -- Need to generate this within IF
3522: ------------------------------------------------------------------------------------
3523: -- 4219869 Business Flow
3524: -- Populated credit and debit amounts -- Need to generate this within IF
3525: ------------------------------------------------------------------------------------
3526: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3527:
3528: ----------------------------------------------------------------------------------
3529: -- 4219869 Business Flow
3530: -- Update journal entry status -- Need to generate this within IF
3554: -- To allow MPA report to determine if it should generate report process
3555: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3556: ------------------------------------------------------------------------------------------
3557:
3558: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3559: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3560:
3561: --
3562: -- Update the line information that should be overwritten
3555: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3556: ------------------------------------------------------------------------------------------
3557:
3558: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3559: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3560:
3561: --
3562: -- Update the line information that should be overwritten
3563: --
3560:
3561: --
3562: -- Update the line information that should be overwritten
3563: --
3564: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3565: p_header_num => 1);
3566: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3567:
3568: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3562: -- Update the line information that should be overwritten
3563: --
3564: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3565: p_header_num => 1);
3566: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3567:
3568: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3569:
3570: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3564: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3565: p_header_num => 1);
3566: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3567:
3568: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3569:
3570: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3571: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3572: END IF;
3567:
3568: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3569:
3570: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3571: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3572: END IF;
3573:
3574: --
3575: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3574: --
3575: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3576: --
3577: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3578: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3579: ELSE
3580: ---------------------------------------------------------------------------------------------------
3581: -- 4262811a Switch Sign
3582: ---------------------------------------------------------------------------------------------------
3579: ELSE
3580: ---------------------------------------------------------------------------------------------------
3581: -- 4262811a Switch Sign
3582: ---------------------------------------------------------------------------------------------------
3583: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3584: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3580: ---------------------------------------------------------------------------------------------------
3581: -- 4262811a Switch Sign
3582: ---------------------------------------------------------------------------------------------------
3583: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3584: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3581: -- 4262811a Switch Sign
3582: ---------------------------------------------------------------------------------------------------
3583: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3584: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3589: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3582: ---------------------------------------------------------------------------------------------------
3583: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3584: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3589: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3590: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3583: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3584: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3589: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3590: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3591:
3585: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3589: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3590: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3591:
3592: END IF;
3593:
3586: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3587: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3588: -- 5132302
3589: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3590: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3591:
3592: END IF;
3593:
3594: -- 4955764
3591:
3592: END IF;
3593:
3594: -- 4955764
3595: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3596: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3597:
3598:
3599: XLA_AE_LINES_PKG.ValidateCurrentLine;
3595: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3596: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3597:
3598:
3599: XLA_AE_LINES_PKG.ValidateCurrentLine;
3600: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3601:
3602: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3603: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3596: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3597:
3598:
3599: XLA_AE_LINES_PKG.ValidateCurrentLine;
3600: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3601:
3602: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3603: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3604: ,p_balance_type_code => l_balance_type_code);
3725: --
3726: -- bulk performance
3727: --
3728: l_balance_type_code VARCHAR2(1);
3729: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3730: l_log_module VARCHAR2(240);
3731:
3732: --
3733: -- Upgrade strategy
3794: ') = 'Y'
3795: THEN
3796:
3797: --
3798: XLA_AE_LINES_PKG.SetNewLine;
3799:
3800: p_balance_type_code := l_balance_type_code;
3801: -- set the flag so later we will know whether the gain loss line needs to be created
3802:
3806:
3807: --
3808: -- bulk performance
3809: --
3810: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3811: p_header_num => 0); -- 4262811
3812: --
3813: -- set accounting line options
3814: --
3811: p_header_num => 0); -- 4262811
3812: --
3813: -- set accounting line options
3814: --
3815: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3816: p_natural_side_code => 'C'
3817: , p_gain_or_loss_flag => 'N'
3818: , p_gl_transfer_mode_code => 'D'
3819: , p_acct_entry_type_code => 'E'
3825: --
3826: --
3827: -- set accounting line type info
3828: --
3829: xla_ae_lines_pkg.SetAcctLineType
3830: (p_component_type => l_component_type
3831: ,p_event_type_code => l_event_type_code
3832: ,p_line_definition_owner_code => l_line_definition_owner_code
3833: ,p_line_definition_code => l_line_definition_code
3839: ,p_event_class_code => l_event_class_code);
3840: --
3841: -- set accounting class
3842: --
3843: xla_ae_lines_pkg.SetAcctClass(
3844: p_accounting_class_code => 'REQUISITION'
3845: , p_ae_header_id => l_ae_header_id
3846: );
3847:
3847:
3848: --
3849: -- set rounding class
3850: --
3851: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3852: 'REQUISITION';
3853:
3854: --
3855: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3851: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3852: 'REQUISITION';
3853:
3854: --
3855: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3856: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3857: --
3858: -- bulk performance
3859: --
3852: 'REQUISITION';
3853:
3854: --
3855: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3856: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3857: --
3858: -- bulk performance
3859: --
3860: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3856: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3857: --
3858: -- bulk performance
3859: --
3860: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3861:
3862: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3863: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3864:
3858: -- bulk performance
3859: --
3860: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3861:
3862: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3863: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3864:
3865: -- 4955764
3866: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3862: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3863: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3864:
3865: -- 4955764
3866: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3867: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3868:
3869: -- 4458381 Public Sector Enh
3870: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
3866: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3867: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3868:
3869: -- 4458381 Public Sector Enh
3870: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
3871: --
3872: -- set accounting attributes for the line type
3873: --
3874: l_entered_amt_idx := 3;
3884: l_rec_acct_attrs.array_char_value(4) := p_source_11;
3885: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
3886: l_rec_acct_attrs.array_num_value(5) := p_source_10;
3887:
3888: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3889: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3890:
3891: ---------------------------------------------------------------------------------------------------------------
3892: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3885: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
3886: l_rec_acct_attrs.array_num_value(5) := p_source_10;
3887:
3888: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3889: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3890:
3891: ---------------------------------------------------------------------------------------------------------------
3892: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3893: ---------------------------------------------------------------------------------------------------------------
3888: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3889: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3890:
3891: ---------------------------------------------------------------------------------------------------------------
3892: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3893: ---------------------------------------------------------------------------------------------------------------
3894: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3895:
3896: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3890:
3891: ---------------------------------------------------------------------------------------------------------------
3892: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3893: ---------------------------------------------------------------------------------------------------------------
3894: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3895:
3896: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3897: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3898:
3892: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3893: ---------------------------------------------------------------------------------------------------------------
3894: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3895:
3896: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3897: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3898:
3899: IF xla_accounting_cache_pkg.GetValueChar
3900: (p_source_code => 'LEDGER_CATEGORY_CODE'
3893: ---------------------------------------------------------------------------------------------------------------
3894: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3895:
3896: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3897: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3898:
3899: IF xla_accounting_cache_pkg.GetValueChar
3900: (p_source_code => 'LEDGER_CATEGORY_CODE'
3901: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3904: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3905: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3906: )
3907: THEN
3908: xla_ae_lines_pkg.BflowUpgEntry
3909: (p_business_method_code => l_bflow_method_code
3910: ,p_business_class_code => l_bflow_class_code
3911: ,p_balance_type => l_balance_type_code);
3912: ELSE
3921: --
3922: -- call description
3923: --
3924:
3925: xla_ae_lines_pkg.SetLineDescription(
3926: p_ae_header_id => l_ae_header_id
3927: ,p_description => Description_1 (
3928: p_application_id => p_application_id
3929: , p_ae_header_id => l_ae_header_id
3954: , x_value_type_code => l_adr_value_type_code
3955: , p_side => 'NA'
3956: );
3957:
3958: xla_ae_lines_pkg.set_ccid(
3959: p_code_combination_id => l_ccid
3960: , p_value_type_code => l_adr_value_type_code
3961: , p_transaction_coa_id => l_adr_transaction_coa_id
3962: , p_accounting_coa_id => l_adr_accounting_coa_id
3990: xla_accounting_err_pkg.build_message
3991: (p_appli_s_name => 'XLA'
3992: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3993: ,p_token_1 => 'LINE_NUMBER'
3994: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3995: ,p_token_2 => 'LINE_TYPE_NAME'
3996: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3997: l_component_type
3998: ,l_component_code
4026: --
4027: --
4028: ------------------------------------------------------------------------------------------------
4029: -- 4219869 Business Flow
4030: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4031: -- Prior Entry. Currently, the following code is always generated.
4032: ------------------------------------------------------------------------------------------------
4033: XLA_AE_LINES_PKG.ValidateCurrentLine;
4034:
4029: -- 4219869 Business Flow
4030: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4031: -- Prior Entry. Currently, the following code is always generated.
4032: ------------------------------------------------------------------------------------------------
4033: XLA_AE_LINES_PKG.ValidateCurrentLine;
4034:
4035: ------------------------------------------------------------------------------------
4036: -- 4219869 Business Flow
4037: -- Populated credit and debit amounts -- Need to generate this within IF
4035: ------------------------------------------------------------------------------------
4036: -- 4219869 Business Flow
4037: -- Populated credit and debit amounts -- Need to generate this within IF
4038: ------------------------------------------------------------------------------------
4039: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4040:
4041: ----------------------------------------------------------------------------------
4042: -- 4219869 Business Flow
4043: -- Update journal entry status -- Need to generate this within IF
4067: -- To allow MPA report to determine if it should generate report process
4068: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4069: ------------------------------------------------------------------------------------------
4070:
4071: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4072: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4073:
4074: --
4075: -- Update the line information that should be overwritten
4068: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4069: ------------------------------------------------------------------------------------------
4070:
4071: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4072: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4073:
4074: --
4075: -- Update the line information that should be overwritten
4076: --
4073:
4074: --
4075: -- Update the line information that should be overwritten
4076: --
4077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4078: p_header_num => 1);
4079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4080:
4081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4075: -- Update the line information that should be overwritten
4076: --
4077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4078: p_header_num => 1);
4079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4080:
4081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4082:
4083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4078: p_header_num => 1);
4079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4080:
4081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4082:
4083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4084: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4085: END IF;
4080:
4081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4082:
4083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4084: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4085: END IF;
4086:
4087: --
4088: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4087: --
4088: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4089: --
4090: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4091: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4092: ELSE
4093: ---------------------------------------------------------------------------------------------------
4094: -- 4262811a Switch Sign
4095: ---------------------------------------------------------------------------------------------------
4092: ELSE
4093: ---------------------------------------------------------------------------------------------------
4094: -- 4262811a Switch Sign
4095: ---------------------------------------------------------------------------------------------------
4096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4093: ---------------------------------------------------------------------------------------------------
4094: -- 4262811a Switch Sign
4095: ---------------------------------------------------------------------------------------------------
4096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4094: -- 4262811a Switch Sign
4095: ---------------------------------------------------------------------------------------------------
4096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4095: ---------------------------------------------------------------------------------------------------
4096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4104:
4098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4104:
4105: END IF;
4106:
4099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4101: -- 5132302
4102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4104:
4105: END IF;
4106:
4107: -- 4955764
4104:
4105: END IF;
4106:
4107: -- 4955764
4108: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4110:
4111:
4112: XLA_AE_LINES_PKG.ValidateCurrentLine;
4108: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4110:
4111:
4112: XLA_AE_LINES_PKG.ValidateCurrentLine;
4113: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4114:
4115: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4116: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4110:
4111:
4112: XLA_AE_LINES_PKG.ValidateCurrentLine;
4113: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4114:
4115: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4116: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4117: ,p_balance_type_code => l_balance_type_code);
4238: --
4239: -- bulk performance
4240: --
4241: l_balance_type_code VARCHAR2(1);
4242: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4243: l_log_module VARCHAR2(240);
4244:
4245: --
4246: -- Upgrade strategy
4307: ') = 'Y'
4308: THEN
4309:
4310: --
4311: XLA_AE_LINES_PKG.SetNewLine;
4312:
4313: p_balance_type_code := l_balance_type_code;
4314: -- set the flag so later we will know whether the gain loss line needs to be created
4315:
4319:
4320: --
4321: -- bulk performance
4322: --
4323: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4324: p_header_num => 0); -- 4262811
4325: --
4326: -- set accounting line options
4327: --
4324: p_header_num => 0); -- 4262811
4325: --
4326: -- set accounting line options
4327: --
4328: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4329: p_natural_side_code => 'D'
4330: , p_gain_or_loss_flag => 'N'
4331: , p_gl_transfer_mode_code => 'D'
4332: , p_acct_entry_type_code => 'E'
4338: --
4339: --
4340: -- set accounting line type info
4341: --
4342: xla_ae_lines_pkg.SetAcctLineType
4343: (p_component_type => l_component_type
4344: ,p_event_type_code => l_event_type_code
4345: ,p_line_definition_owner_code => l_line_definition_owner_code
4346: ,p_line_definition_code => l_line_definition_code
4352: ,p_event_class_code => l_event_class_code);
4353: --
4354: -- set accounting class
4355: --
4356: xla_ae_lines_pkg.SetAcctClass(
4357: p_accounting_class_code => 'REQUISITION'
4358: , p_ae_header_id => l_ae_header_id
4359: );
4360:
4360:
4361: --
4362: -- set rounding class
4363: --
4364: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4365: 'REQUISITION';
4366:
4367: --
4368: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4364: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4365: 'REQUISITION';
4366:
4367: --
4368: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4369: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4370: --
4371: -- bulk performance
4372: --
4365: 'REQUISITION';
4366:
4367: --
4368: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4369: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4370: --
4371: -- bulk performance
4372: --
4373: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4369: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4370: --
4371: -- bulk performance
4372: --
4373: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4374:
4375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4376: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4377:
4371: -- bulk performance
4372: --
4373: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4374:
4375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4376: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4377:
4378: -- 4955764
4379: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4375: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4376: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4377:
4378: -- 4955764
4379: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4380: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4381:
4382: -- 4458381 Public Sector Enh
4383: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
4379: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4380: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4381:
4382: -- 4458381 Public Sector Enh
4383: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
4384: --
4385: -- set accounting attributes for the line type
4386: --
4387: l_entered_amt_idx := 3;
4397: l_rec_acct_attrs.array_char_value(4) := p_source_11;
4398: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
4399: l_rec_acct_attrs.array_num_value(5) := p_source_10;
4400:
4401: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4402: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4403:
4404: ---------------------------------------------------------------------------------------------------------------
4405: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4398: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
4399: l_rec_acct_attrs.array_num_value(5) := p_source_10;
4400:
4401: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4402: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4403:
4404: ---------------------------------------------------------------------------------------------------------------
4405: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4406: ---------------------------------------------------------------------------------------------------------------
4401: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4402: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4403:
4404: ---------------------------------------------------------------------------------------------------------------
4405: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4406: ---------------------------------------------------------------------------------------------------------------
4407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4408:
4409: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4403:
4404: ---------------------------------------------------------------------------------------------------------------
4405: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4406: ---------------------------------------------------------------------------------------------------------------
4407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4408:
4409: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4410: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4411:
4405: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4406: ---------------------------------------------------------------------------------------------------------------
4407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4408:
4409: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4410: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4411:
4412: IF xla_accounting_cache_pkg.GetValueChar
4413: (p_source_code => 'LEDGER_CATEGORY_CODE'
4406: ---------------------------------------------------------------------------------------------------------------
4407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4408:
4409: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4410: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4411:
4412: IF xla_accounting_cache_pkg.GetValueChar
4413: (p_source_code => 'LEDGER_CATEGORY_CODE'
4414: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4417: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4418: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4419: )
4420: THEN
4421: xla_ae_lines_pkg.BflowUpgEntry
4422: (p_business_method_code => l_bflow_method_code
4423: ,p_business_class_code => l_bflow_class_code
4424: ,p_balance_type => l_balance_type_code);
4425: ELSE
4434: --
4435: -- call description
4436: --
4437:
4438: xla_ae_lines_pkg.SetLineDescription(
4439: p_ae_header_id => l_ae_header_id
4440: ,p_description => Description_1 (
4441: p_application_id => p_application_id
4442: , p_ae_header_id => l_ae_header_id
4467: , x_value_type_code => l_adr_value_type_code
4468: , p_side => 'NA'
4469: );
4470:
4471: xla_ae_lines_pkg.set_ccid(
4472: p_code_combination_id => l_ccid
4473: , p_value_type_code => l_adr_value_type_code
4474: , p_transaction_coa_id => l_adr_transaction_coa_id
4475: , p_accounting_coa_id => l_adr_accounting_coa_id
4503: xla_accounting_err_pkg.build_message
4504: (p_appli_s_name => 'XLA'
4505: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4506: ,p_token_1 => 'LINE_NUMBER'
4507: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4508: ,p_token_2 => 'LINE_TYPE_NAME'
4509: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4510: l_component_type
4511: ,l_component_code
4539: --
4540: --
4541: ------------------------------------------------------------------------------------------------
4542: -- 4219869 Business Flow
4543: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4544: -- Prior Entry. Currently, the following code is always generated.
4545: ------------------------------------------------------------------------------------------------
4546: XLA_AE_LINES_PKG.ValidateCurrentLine;
4547:
4542: -- 4219869 Business Flow
4543: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4544: -- Prior Entry. Currently, the following code is always generated.
4545: ------------------------------------------------------------------------------------------------
4546: XLA_AE_LINES_PKG.ValidateCurrentLine;
4547:
4548: ------------------------------------------------------------------------------------
4549: -- 4219869 Business Flow
4550: -- Populated credit and debit amounts -- Need to generate this within IF
4548: ------------------------------------------------------------------------------------
4549: -- 4219869 Business Flow
4550: -- Populated credit and debit amounts -- Need to generate this within IF
4551: ------------------------------------------------------------------------------------
4552: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4553:
4554: ----------------------------------------------------------------------------------
4555: -- 4219869 Business Flow
4556: -- Update journal entry status -- Need to generate this within IF
4580: -- To allow MPA report to determine if it should generate report process
4581: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4582: ------------------------------------------------------------------------------------------
4583:
4584: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4585: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4586:
4587: --
4588: -- Update the line information that should be overwritten
4581: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4582: ------------------------------------------------------------------------------------------
4583:
4584: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4585: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4586:
4587: --
4588: -- Update the line information that should be overwritten
4589: --
4586:
4587: --
4588: -- Update the line information that should be overwritten
4589: --
4590: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4591: p_header_num => 1);
4592: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4593:
4594: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4588: -- Update the line information that should be overwritten
4589: --
4590: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4591: p_header_num => 1);
4592: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4593:
4594: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4595:
4596: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4590: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4591: p_header_num => 1);
4592: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4593:
4594: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4595:
4596: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4597: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4598: END IF;
4593:
4594: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4595:
4596: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4597: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4598: END IF;
4599:
4600: --
4601: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4600: --
4601: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4602: --
4603: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4604: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4605: ELSE
4606: ---------------------------------------------------------------------------------------------------
4607: -- 4262811a Switch Sign
4608: ---------------------------------------------------------------------------------------------------
4605: ELSE
4606: ---------------------------------------------------------------------------------------------------
4607: -- 4262811a Switch Sign
4608: ---------------------------------------------------------------------------------------------------
4609: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4606: ---------------------------------------------------------------------------------------------------
4607: -- 4262811a Switch Sign
4608: ---------------------------------------------------------------------------------------------------
4609: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4607: -- 4262811a Switch Sign
4608: ---------------------------------------------------------------------------------------------------
4609: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4608: ---------------------------------------------------------------------------------------------------
4609: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4616: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4609: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4616: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4617:
4611: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4616: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4617:
4618: END IF;
4619:
4612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4613: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4614: -- 5132302
4615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4616: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4617:
4618: END IF;
4619:
4620: -- 4955764
4617:
4618: END IF;
4619:
4620: -- 4955764
4621: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4622: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4623:
4624:
4625: XLA_AE_LINES_PKG.ValidateCurrentLine;
4621: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4622: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4623:
4624:
4625: XLA_AE_LINES_PKG.ValidateCurrentLine;
4626: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4627:
4628: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4629: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4622: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4623:
4624:
4625: XLA_AE_LINES_PKG.ValidateCurrentLine;
4626: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4627:
4628: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4629: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4630: ,p_balance_type_code => l_balance_type_code);
4749: --
4750: -- bulk performance
4751: --
4752: l_balance_type_code VARCHAR2(1);
4753: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4754: l_log_module VARCHAR2(240);
4755:
4756: --
4757: -- Upgrade strategy
4816: IF p_source_6 IS NOT NULL
4817: THEN
4818:
4819: --
4820: XLA_AE_LINES_PKG.SetNewLine;
4821:
4822: p_balance_type_code := l_balance_type_code;
4823: -- set the flag so later we will know whether the gain loss line needs to be created
4824:
4828:
4829: --
4830: -- bulk performance
4831: --
4832: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4833: p_header_num => 0); -- 4262811
4834: --
4835: -- set accounting line options
4836: --
4833: p_header_num => 0); -- 4262811
4834: --
4835: -- set accounting line options
4836: --
4837: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4838: p_natural_side_code => 'C'
4839: , p_gain_or_loss_flag => 'N'
4840: , p_gl_transfer_mode_code => 'D'
4841: , p_acct_entry_type_code => 'E'
4847: --
4848: --
4849: -- set accounting line type info
4850: --
4851: xla_ae_lines_pkg.SetAcctLineType
4852: (p_component_type => l_component_type
4853: ,p_event_type_code => l_event_type_code
4854: ,p_line_definition_owner_code => l_line_definition_owner_code
4855: ,p_line_definition_code => l_line_definition_code
4861: ,p_event_class_code => l_event_class_code);
4862: --
4863: -- set accounting class
4864: --
4865: xla_ae_lines_pkg.SetAcctClass(
4866: p_accounting_class_code => 'BUDGET'
4867: , p_ae_header_id => l_ae_header_id
4868: );
4869:
4869:
4870: --
4871: -- set rounding class
4872: --
4873: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4874: 'BUDGET';
4875:
4876: --
4877: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4873: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4874: 'BUDGET';
4875:
4876: --
4877: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4878: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4879: --
4880: -- bulk performance
4881: --
4874: 'BUDGET';
4875:
4876: --
4877: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4878: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4879: --
4880: -- bulk performance
4881: --
4882: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4878: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4879: --
4880: -- bulk performance
4881: --
4882: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4883:
4884: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4885: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4886:
4880: -- bulk performance
4881: --
4882: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4883:
4884: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4885: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4886:
4887: -- 4955764
4888: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4884: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4885: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4886:
4887: -- 4955764
4888: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4889: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4890:
4891: -- 4458381 Public Sector Enh
4892: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
4888: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4889: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4890:
4891: -- 4458381 Public Sector Enh
4892: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
4893: --
4894: -- set accounting attributes for the line type
4895: --
4896: l_entered_amt_idx := 3;
4906: l_rec_acct_attrs.array_char_value(4) := p_source_11;
4907: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
4908: l_rec_acct_attrs.array_num_value(5) := p_source_10;
4909:
4910: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4911: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4912:
4913: ---------------------------------------------------------------------------------------------------------------
4914: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4907: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
4908: l_rec_acct_attrs.array_num_value(5) := p_source_10;
4909:
4910: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4911: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4912:
4913: ---------------------------------------------------------------------------------------------------------------
4914: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4915: ---------------------------------------------------------------------------------------------------------------
4910: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4911: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4912:
4913: ---------------------------------------------------------------------------------------------------------------
4914: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4915: ---------------------------------------------------------------------------------------------------------------
4916: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4917:
4918: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4912:
4913: ---------------------------------------------------------------------------------------------------------------
4914: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4915: ---------------------------------------------------------------------------------------------------------------
4916: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4917:
4918: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4919: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4920:
4914: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4915: ---------------------------------------------------------------------------------------------------------------
4916: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4917:
4918: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4919: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4920:
4921: IF xla_accounting_cache_pkg.GetValueChar
4922: (p_source_code => 'LEDGER_CATEGORY_CODE'
4915: ---------------------------------------------------------------------------------------------------------------
4916: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4917:
4918: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4919: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4920:
4921: IF xla_accounting_cache_pkg.GetValueChar
4922: (p_source_code => 'LEDGER_CATEGORY_CODE'
4923: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4926: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4927: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4928: )
4929: THEN
4930: xla_ae_lines_pkg.BflowUpgEntry
4931: (p_business_method_code => l_bflow_method_code
4932: ,p_business_class_code => l_bflow_class_code
4933: ,p_balance_type => l_balance_type_code);
4934: ELSE
4943: --
4944: -- call description
4945: --
4946:
4947: xla_ae_lines_pkg.SetLineDescription(
4948: p_ae_header_id => l_ae_header_id
4949: ,p_description => Description_1 (
4950: p_application_id => p_application_id
4951: , p_ae_header_id => l_ae_header_id
4976: , x_value_type_code => l_adr_value_type_code
4977: , p_side => 'NA'
4978: );
4979:
4980: xla_ae_lines_pkg.set_ccid(
4981: p_code_combination_id => l_ccid
4982: , p_value_type_code => l_adr_value_type_code
4983: , p_transaction_coa_id => l_adr_transaction_coa_id
4984: , p_accounting_coa_id => l_adr_accounting_coa_id
5012: xla_accounting_err_pkg.build_message
5013: (p_appli_s_name => 'XLA'
5014: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5015: ,p_token_1 => 'LINE_NUMBER'
5016: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5017: ,p_token_2 => 'LINE_TYPE_NAME'
5018: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5019: l_component_type
5020: ,l_component_code
5048: --
5049: --
5050: ------------------------------------------------------------------------------------------------
5051: -- 4219869 Business Flow
5052: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5053: -- Prior Entry. Currently, the following code is always generated.
5054: ------------------------------------------------------------------------------------------------
5055: XLA_AE_LINES_PKG.ValidateCurrentLine;
5056:
5051: -- 4219869 Business Flow
5052: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5053: -- Prior Entry. Currently, the following code is always generated.
5054: ------------------------------------------------------------------------------------------------
5055: XLA_AE_LINES_PKG.ValidateCurrentLine;
5056:
5057: ------------------------------------------------------------------------------------
5058: -- 4219869 Business Flow
5059: -- Populated credit and debit amounts -- Need to generate this within IF
5057: ------------------------------------------------------------------------------------
5058: -- 4219869 Business Flow
5059: -- Populated credit and debit amounts -- Need to generate this within IF
5060: ------------------------------------------------------------------------------------
5061: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5062:
5063: ----------------------------------------------------------------------------------
5064: -- 4219869 Business Flow
5065: -- Update journal entry status -- Need to generate this within IF
5089: -- To allow MPA report to determine if it should generate report process
5090: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5091: ------------------------------------------------------------------------------------------
5092:
5093: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5094: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5095:
5096: --
5097: -- Update the line information that should be overwritten
5090: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5091: ------------------------------------------------------------------------------------------
5092:
5093: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5094: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5095:
5096: --
5097: -- Update the line information that should be overwritten
5098: --
5095:
5096: --
5097: -- Update the line information that should be overwritten
5098: --
5099: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5100: p_header_num => 1);
5101: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5102:
5103: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5097: -- Update the line information that should be overwritten
5098: --
5099: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5100: p_header_num => 1);
5101: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5102:
5103: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5104:
5105: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5099: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5100: p_header_num => 1);
5101: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5102:
5103: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5104:
5105: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5106: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5107: END IF;
5102:
5103: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5104:
5105: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5106: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5107: END IF;
5108:
5109: --
5110: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5109: --
5110: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5111: --
5112: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5113: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5114: ELSE
5115: ---------------------------------------------------------------------------------------------------
5116: -- 4262811a Switch Sign
5117: ---------------------------------------------------------------------------------------------------
5114: ELSE
5115: ---------------------------------------------------------------------------------------------------
5116: -- 4262811a Switch Sign
5117: ---------------------------------------------------------------------------------------------------
5118: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5119: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5115: ---------------------------------------------------------------------------------------------------
5116: -- 4262811a Switch Sign
5117: ---------------------------------------------------------------------------------------------------
5118: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5119: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5116: -- 4262811a Switch Sign
5117: ---------------------------------------------------------------------------------------------------
5118: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5119: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5124: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5117: ---------------------------------------------------------------------------------------------------
5118: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5119: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5124: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5125: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5118: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5119: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5124: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5125: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5126:
5120: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5124: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5125: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5126:
5127: END IF;
5128:
5121: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5122: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5123: -- 5132302
5124: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5125: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5126:
5127: END IF;
5128:
5129: -- 4955764
5126:
5127: END IF;
5128:
5129: -- 4955764
5130: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5131: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5132:
5133:
5134: XLA_AE_LINES_PKG.ValidateCurrentLine;
5130: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5131: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5132:
5133:
5134: XLA_AE_LINES_PKG.ValidateCurrentLine;
5135: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5136:
5137: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5138: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5131: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5132:
5133:
5134: XLA_AE_LINES_PKG.ValidateCurrentLine;
5135: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5136:
5137: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5138: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5139: ,p_balance_type_code => l_balance_type_code);
5258: --
5259: -- bulk performance
5260: --
5261: l_balance_type_code VARCHAR2(1);
5262: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5263: l_log_module VARCHAR2(240);
5264:
5265: --
5266: -- Upgrade strategy
5325: IF p_source_12 IS NOT NULL
5326: THEN
5327:
5328: --
5329: XLA_AE_LINES_PKG.SetNewLine;
5330:
5331: p_balance_type_code := l_balance_type_code;
5332: -- set the flag so later we will know whether the gain loss line needs to be created
5333:
5337:
5338: --
5339: -- bulk performance
5340: --
5341: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5342: p_header_num => 0); -- 4262811
5343: --
5344: -- set accounting line options
5345: --
5342: p_header_num => 0); -- 4262811
5343: --
5344: -- set accounting line options
5345: --
5346: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5347: p_natural_side_code => 'D'
5348: , p_gain_or_loss_flag => 'N'
5349: , p_gl_transfer_mode_code => 'D'
5350: , p_acct_entry_type_code => 'E'
5356: --
5357: --
5358: -- set accounting line type info
5359: --
5360: xla_ae_lines_pkg.SetAcctLineType
5361: (p_component_type => l_component_type
5362: ,p_event_type_code => l_event_type_code
5363: ,p_line_definition_owner_code => l_line_definition_owner_code
5364: ,p_line_definition_code => l_line_definition_code
5370: ,p_event_class_code => l_event_class_code);
5371: --
5372: -- set accounting class
5373: --
5374: xla_ae_lines_pkg.SetAcctClass(
5375: p_accounting_class_code => 'BUDGET'
5376: , p_ae_header_id => l_ae_header_id
5377: );
5378:
5378:
5379: --
5380: -- set rounding class
5381: --
5382: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5383: 'BUDGET';
5384:
5385: --
5386: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5382: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5383: 'BUDGET';
5384:
5385: --
5386: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5387: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5388: --
5389: -- bulk performance
5390: --
5383: 'BUDGET';
5384:
5385: --
5386: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5387: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5388: --
5389: -- bulk performance
5390: --
5391: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5387: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5388: --
5389: -- bulk performance
5390: --
5391: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5392:
5393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5394: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5395:
5389: -- bulk performance
5390: --
5391: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5392:
5393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5394: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5395:
5396: -- 4955764
5397: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5394: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5395:
5396: -- 4955764
5397: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5398: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5399:
5400: -- 4458381 Public Sector Enh
5401: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
5397: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5398: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5399:
5400: -- 4458381 Public Sector Enh
5401: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1061;
5402: --
5403: -- set accounting attributes for the line type
5404: --
5405: l_entered_amt_idx := 3;
5415: l_rec_acct_attrs.array_char_value(4) := p_source_11;
5416: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
5417: l_rec_acct_attrs.array_num_value(5) := p_source_10;
5418:
5419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5421:
5422: ---------------------------------------------------------------------------------------------------------------
5423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5416: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
5417: l_rec_acct_attrs.array_num_value(5) := p_source_10;
5418:
5419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5421:
5422: ---------------------------------------------------------------------------------------------------------------
5423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5424: ---------------------------------------------------------------------------------------------------------------
5419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5421:
5422: ---------------------------------------------------------------------------------------------------------------
5423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5424: ---------------------------------------------------------------------------------------------------------------
5425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5426:
5427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5421:
5422: ---------------------------------------------------------------------------------------------------------------
5423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5424: ---------------------------------------------------------------------------------------------------------------
5425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5426:
5427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5429:
5423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5424: ---------------------------------------------------------------------------------------------------------------
5425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5426:
5427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5429:
5430: IF xla_accounting_cache_pkg.GetValueChar
5431: (p_source_code => 'LEDGER_CATEGORY_CODE'
5424: ---------------------------------------------------------------------------------------------------------------
5425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5426:
5427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5429:
5430: IF xla_accounting_cache_pkg.GetValueChar
5431: (p_source_code => 'LEDGER_CATEGORY_CODE'
5432: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5435: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5436: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5437: )
5438: THEN
5439: xla_ae_lines_pkg.BflowUpgEntry
5440: (p_business_method_code => l_bflow_method_code
5441: ,p_business_class_code => l_bflow_class_code
5442: ,p_balance_type => l_balance_type_code);
5443: ELSE
5452: --
5453: -- call description
5454: --
5455:
5456: xla_ae_lines_pkg.SetLineDescription(
5457: p_ae_header_id => l_ae_header_id
5458: ,p_description => Description_1 (
5459: p_application_id => p_application_id
5460: , p_ae_header_id => l_ae_header_id
5485: , x_value_type_code => l_adr_value_type_code
5486: , p_side => 'NA'
5487: );
5488:
5489: xla_ae_lines_pkg.set_ccid(
5490: p_code_combination_id => l_ccid
5491: , p_value_type_code => l_adr_value_type_code
5492: , p_transaction_coa_id => l_adr_transaction_coa_id
5493: , p_accounting_coa_id => l_adr_accounting_coa_id
5521: xla_accounting_err_pkg.build_message
5522: (p_appli_s_name => 'XLA'
5523: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5524: ,p_token_1 => 'LINE_NUMBER'
5525: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5526: ,p_token_2 => 'LINE_TYPE_NAME'
5527: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5528: l_component_type
5529: ,l_component_code
5557: --
5558: --
5559: ------------------------------------------------------------------------------------------------
5560: -- 4219869 Business Flow
5561: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5562: -- Prior Entry. Currently, the following code is always generated.
5563: ------------------------------------------------------------------------------------------------
5564: XLA_AE_LINES_PKG.ValidateCurrentLine;
5565:
5560: -- 4219869 Business Flow
5561: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5562: -- Prior Entry. Currently, the following code is always generated.
5563: ------------------------------------------------------------------------------------------------
5564: XLA_AE_LINES_PKG.ValidateCurrentLine;
5565:
5566: ------------------------------------------------------------------------------------
5567: -- 4219869 Business Flow
5568: -- Populated credit and debit amounts -- Need to generate this within IF
5566: ------------------------------------------------------------------------------------
5567: -- 4219869 Business Flow
5568: -- Populated credit and debit amounts -- Need to generate this within IF
5569: ------------------------------------------------------------------------------------
5570: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5571:
5572: ----------------------------------------------------------------------------------
5573: -- 4219869 Business Flow
5574: -- Update journal entry status -- Need to generate this within IF
5598: -- To allow MPA report to determine if it should generate report process
5599: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5600: ------------------------------------------------------------------------------------------
5601:
5602: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5603: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5604:
5605: --
5606: -- Update the line information that should be overwritten
5599: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5600: ------------------------------------------------------------------------------------------
5601:
5602: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5603: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5604:
5605: --
5606: -- Update the line information that should be overwritten
5607: --
5604:
5605: --
5606: -- Update the line information that should be overwritten
5607: --
5608: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5609: p_header_num => 1);
5610: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5611:
5612: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5606: -- Update the line information that should be overwritten
5607: --
5608: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5609: p_header_num => 1);
5610: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5611:
5612: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5613:
5614: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5608: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5609: p_header_num => 1);
5610: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5611:
5612: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5613:
5614: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5615: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5616: END IF;
5611:
5612: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5613:
5614: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5615: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5616: END IF;
5617:
5618: --
5619: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5618: --
5619: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5620: --
5621: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5622: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5623: ELSE
5624: ---------------------------------------------------------------------------------------------------
5625: -- 4262811a Switch Sign
5626: ---------------------------------------------------------------------------------------------------
5623: ELSE
5624: ---------------------------------------------------------------------------------------------------
5625: -- 4262811a Switch Sign
5626: ---------------------------------------------------------------------------------------------------
5627: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5628: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5624: ---------------------------------------------------------------------------------------------------
5625: -- 4262811a Switch Sign
5626: ---------------------------------------------------------------------------------------------------
5627: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5628: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5625: -- 4262811a Switch Sign
5626: ---------------------------------------------------------------------------------------------------
5627: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5628: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5633: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5626: ---------------------------------------------------------------------------------------------------
5627: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5628: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5633: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5634: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5627: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5628: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5633: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5634: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5635:
5629: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5633: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5634: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5635:
5636: END IF;
5637:
5630: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5631: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5632: -- 5132302
5633: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5634: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5635:
5636: END IF;
5637:
5638: -- 4955764
5635:
5636: END IF;
5637:
5638: -- 4955764
5639: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5640: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5641:
5642:
5643: XLA_AE_LINES_PKG.ValidateCurrentLine;
5639: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5640: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5641:
5642:
5643: XLA_AE_LINES_PKG.ValidateCurrentLine;
5644: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5645:
5646: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5647: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5640: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5641:
5642:
5643: XLA_AE_LINES_PKG.ValidateCurrentLine;
5644: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5645:
5646: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5647: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5648: ,p_balance_type_code => l_balance_type_code);
5767: --
5768: -- bulk performance
5769: --
5770: l_balance_type_code VARCHAR2(1);
5771: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5772: l_log_module VARCHAR2(240);
5773:
5774: --
5775: -- Upgrade strategy
5834: IF p_source_6 IS NOT NULL
5835: THEN
5836:
5837: --
5838: XLA_AE_LINES_PKG.SetNewLine;
5839:
5840: p_balance_type_code := l_balance_type_code;
5841: -- set the flag so later we will know whether the gain loss line needs to be created
5842:
5846:
5847: --
5848: -- bulk performance
5849: --
5850: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5851: p_header_num => 0); -- 4262811
5852: --
5853: -- set accounting line options
5854: --
5851: p_header_num => 0); -- 4262811
5852: --
5853: -- set accounting line options
5854: --
5855: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5856: p_natural_side_code => 'C'
5857: , p_gain_or_loss_flag => 'N'
5858: , p_gl_transfer_mode_code => 'D'
5859: , p_acct_entry_type_code => 'E'
5865: --
5866: --
5867: -- set accounting line type info
5868: --
5869: xla_ae_lines_pkg.SetAcctLineType
5870: (p_component_type => l_component_type
5871: ,p_event_type_code => l_event_type_code
5872: ,p_line_definition_owner_code => l_line_definition_owner_code
5873: ,p_line_definition_code => l_line_definition_code
5879: ,p_event_class_code => l_event_class_code);
5880: --
5881: -- set accounting class
5882: --
5883: xla_ae_lines_pkg.SetAcctClass(
5884: p_accounting_class_code => 'PURCHASE_ORDER'
5885: , p_ae_header_id => l_ae_header_id
5886: );
5887:
5887:
5888: --
5889: -- set rounding class
5890: --
5891: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5892: 'PURCHASE_ORDER';
5893:
5894: --
5895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5891: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5892: 'PURCHASE_ORDER';
5893:
5894: --
5895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5897: --
5898: -- bulk performance
5899: --
5892: 'PURCHASE_ORDER';
5893:
5894: --
5895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5897: --
5898: -- bulk performance
5899: --
5900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5897: --
5898: -- bulk performance
5899: --
5900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5901:
5902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5904:
5898: -- bulk performance
5899: --
5900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5901:
5902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5904:
5905: -- 4955764
5906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5904:
5905: -- 4955764
5906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5908:
5909: -- 4458381 Public Sector Enh
5910: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
5906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5908:
5909: -- 4458381 Public Sector Enh
5910: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
5911: --
5912: -- set accounting attributes for the line type
5913: --
5914: l_entered_amt_idx := 3;
5924: l_rec_acct_attrs.array_char_value(4) := p_source_11;
5925: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
5926: l_rec_acct_attrs.array_num_value(5) := p_source_10;
5927:
5928: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5929: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5930:
5931: ---------------------------------------------------------------------------------------------------------------
5932: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5925: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
5926: l_rec_acct_attrs.array_num_value(5) := p_source_10;
5927:
5928: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5929: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5930:
5931: ---------------------------------------------------------------------------------------------------------------
5932: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5933: ---------------------------------------------------------------------------------------------------------------
5928: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5929: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5930:
5931: ---------------------------------------------------------------------------------------------------------------
5932: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5933: ---------------------------------------------------------------------------------------------------------------
5934: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5935:
5936: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5930:
5931: ---------------------------------------------------------------------------------------------------------------
5932: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5933: ---------------------------------------------------------------------------------------------------------------
5934: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5935:
5936: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5937: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5938:
5932: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5933: ---------------------------------------------------------------------------------------------------------------
5934: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5935:
5936: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5937: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5938:
5939: IF xla_accounting_cache_pkg.GetValueChar
5940: (p_source_code => 'LEDGER_CATEGORY_CODE'
5933: ---------------------------------------------------------------------------------------------------------------
5934: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5935:
5936: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5937: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5938:
5939: IF xla_accounting_cache_pkg.GetValueChar
5940: (p_source_code => 'LEDGER_CATEGORY_CODE'
5941: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5944: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5945: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5946: )
5947: THEN
5948: xla_ae_lines_pkg.BflowUpgEntry
5949: (p_business_method_code => l_bflow_method_code
5950: ,p_business_class_code => l_bflow_class_code
5951: ,p_balance_type => l_balance_type_code);
5952: ELSE
5961: --
5962: -- call description
5963: --
5964:
5965: xla_ae_lines_pkg.SetLineDescription(
5966: p_ae_header_id => l_ae_header_id
5967: ,p_description => Description_1 (
5968: p_application_id => p_application_id
5969: , p_ae_header_id => l_ae_header_id
5994: , x_value_type_code => l_adr_value_type_code
5995: , p_side => 'NA'
5996: );
5997:
5998: xla_ae_lines_pkg.set_ccid(
5999: p_code_combination_id => l_ccid
6000: , p_value_type_code => l_adr_value_type_code
6001: , p_transaction_coa_id => l_adr_transaction_coa_id
6002: , p_accounting_coa_id => l_adr_accounting_coa_id
6030: xla_accounting_err_pkg.build_message
6031: (p_appli_s_name => 'XLA'
6032: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6033: ,p_token_1 => 'LINE_NUMBER'
6034: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6035: ,p_token_2 => 'LINE_TYPE_NAME'
6036: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6037: l_component_type
6038: ,l_component_code
6066: --
6067: --
6068: ------------------------------------------------------------------------------------------------
6069: -- 4219869 Business Flow
6070: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6071: -- Prior Entry. Currently, the following code is always generated.
6072: ------------------------------------------------------------------------------------------------
6073: XLA_AE_LINES_PKG.ValidateCurrentLine;
6074:
6069: -- 4219869 Business Flow
6070: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6071: -- Prior Entry. Currently, the following code is always generated.
6072: ------------------------------------------------------------------------------------------------
6073: XLA_AE_LINES_PKG.ValidateCurrentLine;
6074:
6075: ------------------------------------------------------------------------------------
6076: -- 4219869 Business Flow
6077: -- Populated credit and debit amounts -- Need to generate this within IF
6075: ------------------------------------------------------------------------------------
6076: -- 4219869 Business Flow
6077: -- Populated credit and debit amounts -- Need to generate this within IF
6078: ------------------------------------------------------------------------------------
6079: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6080:
6081: ----------------------------------------------------------------------------------
6082: -- 4219869 Business Flow
6083: -- Update journal entry status -- Need to generate this within IF
6107: -- To allow MPA report to determine if it should generate report process
6108: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6109: ------------------------------------------------------------------------------------------
6110:
6111: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6112: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6113:
6114: --
6115: -- Update the line information that should be overwritten
6108: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6109: ------------------------------------------------------------------------------------------
6110:
6111: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6112: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6113:
6114: --
6115: -- Update the line information that should be overwritten
6116: --
6113:
6114: --
6115: -- Update the line information that should be overwritten
6116: --
6117: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6118: p_header_num => 1);
6119: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6120:
6121: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6115: -- Update the line information that should be overwritten
6116: --
6117: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6118: p_header_num => 1);
6119: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6120:
6121: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6122:
6123: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6117: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6118: p_header_num => 1);
6119: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6120:
6121: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6122:
6123: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6124: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6125: END IF;
6120:
6121: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6122:
6123: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6124: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6125: END IF;
6126:
6127: --
6128: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6127: --
6128: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6129: --
6130: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6131: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6132: ELSE
6133: ---------------------------------------------------------------------------------------------------
6134: -- 4262811a Switch Sign
6135: ---------------------------------------------------------------------------------------------------
6132: ELSE
6133: ---------------------------------------------------------------------------------------------------
6134: -- 4262811a Switch Sign
6135: ---------------------------------------------------------------------------------------------------
6136: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6137: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6133: ---------------------------------------------------------------------------------------------------
6134: -- 4262811a Switch Sign
6135: ---------------------------------------------------------------------------------------------------
6136: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6137: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6134: -- 4262811a Switch Sign
6135: ---------------------------------------------------------------------------------------------------
6136: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6137: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6142: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6135: ---------------------------------------------------------------------------------------------------
6136: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6137: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6142: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6136: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6137: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6142: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6144:
6138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6142: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6144:
6145: END IF;
6146:
6139: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6141: -- 5132302
6142: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6144:
6145: END IF;
6146:
6147: -- 4955764
6144:
6145: END IF;
6146:
6147: -- 4955764
6148: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6149: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6150:
6151:
6152: XLA_AE_LINES_PKG.ValidateCurrentLine;
6148: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6149: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6150:
6151:
6152: XLA_AE_LINES_PKG.ValidateCurrentLine;
6153: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6154:
6155: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6156: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6149: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6150:
6151:
6152: XLA_AE_LINES_PKG.ValidateCurrentLine;
6153: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6154:
6155: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6156: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6157: ,p_balance_type_code => l_balance_type_code);
6276: --
6277: -- bulk performance
6278: --
6279: l_balance_type_code VARCHAR2(1);
6280: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6281: l_log_module VARCHAR2(240);
6282:
6283: --
6284: -- Upgrade strategy
6343: IF p_source_12 IS NOT NULL
6344: THEN
6345:
6346: --
6347: XLA_AE_LINES_PKG.SetNewLine;
6348:
6349: p_balance_type_code := l_balance_type_code;
6350: -- set the flag so later we will know whether the gain loss line needs to be created
6351:
6355:
6356: --
6357: -- bulk performance
6358: --
6359: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6360: p_header_num => 0); -- 4262811
6361: --
6362: -- set accounting line options
6363: --
6360: p_header_num => 0); -- 4262811
6361: --
6362: -- set accounting line options
6363: --
6364: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6365: p_natural_side_code => 'D'
6366: , p_gain_or_loss_flag => 'N'
6367: , p_gl_transfer_mode_code => 'D'
6368: , p_acct_entry_type_code => 'E'
6374: --
6375: --
6376: -- set accounting line type info
6377: --
6378: xla_ae_lines_pkg.SetAcctLineType
6379: (p_component_type => l_component_type
6380: ,p_event_type_code => l_event_type_code
6381: ,p_line_definition_owner_code => l_line_definition_owner_code
6382: ,p_line_definition_code => l_line_definition_code
6388: ,p_event_class_code => l_event_class_code);
6389: --
6390: -- set accounting class
6391: --
6392: xla_ae_lines_pkg.SetAcctClass(
6393: p_accounting_class_code => 'PURCHASE_ORDER'
6394: , p_ae_header_id => l_ae_header_id
6395: );
6396:
6396:
6397: --
6398: -- set rounding class
6399: --
6400: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6401: 'PURCHASE_ORDER';
6402:
6403: --
6404: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6400: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6401: 'PURCHASE_ORDER';
6402:
6403: --
6404: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6405: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6406: --
6407: -- bulk performance
6408: --
6401: 'PURCHASE_ORDER';
6402:
6403: --
6404: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6405: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6406: --
6407: -- bulk performance
6408: --
6409: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6405: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6406: --
6407: -- bulk performance
6408: --
6409: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6410:
6411: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6412: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6413:
6407: -- bulk performance
6408: --
6409: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6410:
6411: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6412: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6413:
6414: -- 4955764
6415: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6411: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6412: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6413:
6414: -- 4955764
6415: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6416: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6417:
6418: -- 4458381 Public Sector Enh
6419: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
6415: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6416: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6417:
6418: -- 4458381 Public Sector Enh
6419: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1001;
6420: --
6421: -- set accounting attributes for the line type
6422: --
6423: l_entered_amt_idx := 3;
6433: l_rec_acct_attrs.array_char_value(4) := p_source_11;
6434: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
6435: l_rec_acct_attrs.array_num_value(5) := p_source_10;
6436:
6437: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6438: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6439:
6440: ---------------------------------------------------------------------------------------------------------------
6441: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6434: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
6435: l_rec_acct_attrs.array_num_value(5) := p_source_10;
6436:
6437: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6438: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6439:
6440: ---------------------------------------------------------------------------------------------------------------
6441: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6442: ---------------------------------------------------------------------------------------------------------------
6437: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6438: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6439:
6440: ---------------------------------------------------------------------------------------------------------------
6441: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6442: ---------------------------------------------------------------------------------------------------------------
6443: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6444:
6445: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6439:
6440: ---------------------------------------------------------------------------------------------------------------
6441: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6442: ---------------------------------------------------------------------------------------------------------------
6443: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6444:
6445: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6446: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6447:
6441: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6442: ---------------------------------------------------------------------------------------------------------------
6443: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6444:
6445: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6446: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6447:
6448: IF xla_accounting_cache_pkg.GetValueChar
6449: (p_source_code => 'LEDGER_CATEGORY_CODE'
6442: ---------------------------------------------------------------------------------------------------------------
6443: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6444:
6445: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6446: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6447:
6448: IF xla_accounting_cache_pkg.GetValueChar
6449: (p_source_code => 'LEDGER_CATEGORY_CODE'
6450: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6453: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6454: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6455: )
6456: THEN
6457: xla_ae_lines_pkg.BflowUpgEntry
6458: (p_business_method_code => l_bflow_method_code
6459: ,p_business_class_code => l_bflow_class_code
6460: ,p_balance_type => l_balance_type_code);
6461: ELSE
6470: --
6471: -- call description
6472: --
6473:
6474: xla_ae_lines_pkg.SetLineDescription(
6475: p_ae_header_id => l_ae_header_id
6476: ,p_description => Description_1 (
6477: p_application_id => p_application_id
6478: , p_ae_header_id => l_ae_header_id
6503: , x_value_type_code => l_adr_value_type_code
6504: , p_side => 'NA'
6505: );
6506:
6507: xla_ae_lines_pkg.set_ccid(
6508: p_code_combination_id => l_ccid
6509: , p_value_type_code => l_adr_value_type_code
6510: , p_transaction_coa_id => l_adr_transaction_coa_id
6511: , p_accounting_coa_id => l_adr_accounting_coa_id
6539: xla_accounting_err_pkg.build_message
6540: (p_appli_s_name => 'XLA'
6541: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6542: ,p_token_1 => 'LINE_NUMBER'
6543: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6544: ,p_token_2 => 'LINE_TYPE_NAME'
6545: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6546: l_component_type
6547: ,l_component_code
6575: --
6576: --
6577: ------------------------------------------------------------------------------------------------
6578: -- 4219869 Business Flow
6579: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6580: -- Prior Entry. Currently, the following code is always generated.
6581: ------------------------------------------------------------------------------------------------
6582: XLA_AE_LINES_PKG.ValidateCurrentLine;
6583:
6578: -- 4219869 Business Flow
6579: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6580: -- Prior Entry. Currently, the following code is always generated.
6581: ------------------------------------------------------------------------------------------------
6582: XLA_AE_LINES_PKG.ValidateCurrentLine;
6583:
6584: ------------------------------------------------------------------------------------
6585: -- 4219869 Business Flow
6586: -- Populated credit and debit amounts -- Need to generate this within IF
6584: ------------------------------------------------------------------------------------
6585: -- 4219869 Business Flow
6586: -- Populated credit and debit amounts -- Need to generate this within IF
6587: ------------------------------------------------------------------------------------
6588: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6589:
6590: ----------------------------------------------------------------------------------
6591: -- 4219869 Business Flow
6592: -- Update journal entry status -- Need to generate this within IF
6616: -- To allow MPA report to determine if it should generate report process
6617: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6618: ------------------------------------------------------------------------------------------
6619:
6620: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6621: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6622:
6623: --
6624: -- Update the line information that should be overwritten
6617: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6618: ------------------------------------------------------------------------------------------
6619:
6620: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6621: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6622:
6623: --
6624: -- Update the line information that should be overwritten
6625: --
6622:
6623: --
6624: -- Update the line information that should be overwritten
6625: --
6626: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6627: p_header_num => 1);
6628: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6629:
6630: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6624: -- Update the line information that should be overwritten
6625: --
6626: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6627: p_header_num => 1);
6628: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6629:
6630: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6631:
6632: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6626: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6627: p_header_num => 1);
6628: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6629:
6630: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6631:
6632: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6633: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6634: END IF;
6629:
6630: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6631:
6632: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6633: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6634: END IF;
6635:
6636: --
6637: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6636: --
6637: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6638: --
6639: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6640: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6641: ELSE
6642: ---------------------------------------------------------------------------------------------------
6643: -- 4262811a Switch Sign
6644: ---------------------------------------------------------------------------------------------------
6641: ELSE
6642: ---------------------------------------------------------------------------------------------------
6643: -- 4262811a Switch Sign
6644: ---------------------------------------------------------------------------------------------------
6645: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6646: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6642: ---------------------------------------------------------------------------------------------------
6643: -- 4262811a Switch Sign
6644: ---------------------------------------------------------------------------------------------------
6645: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6646: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6643: -- 4262811a Switch Sign
6644: ---------------------------------------------------------------------------------------------------
6645: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6646: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6651: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6644: ---------------------------------------------------------------------------------------------------
6645: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6646: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6651: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6652: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6645: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6646: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6651: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6652: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6653:
6647: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6651: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6652: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6653:
6654: END IF;
6655:
6648: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6649: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6650: -- 5132302
6651: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6652: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6653:
6654: END IF;
6655:
6656: -- 4955764
6653:
6654: END IF;
6655:
6656: -- 4955764
6657: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6658: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6659:
6660:
6661: XLA_AE_LINES_PKG.ValidateCurrentLine;
6657: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6658: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6659:
6660:
6661: XLA_AE_LINES_PKG.ValidateCurrentLine;
6662: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6663:
6664: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6665: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6658: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6659:
6660:
6661: XLA_AE_LINES_PKG.ValidateCurrentLine;
6662: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6663:
6664: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6665: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6666: ,p_balance_type_code => l_balance_type_code);
6785: --
6786: -- bulk performance
6787: --
6788: l_balance_type_code VARCHAR2(1);
6789: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6790: l_log_module VARCHAR2(240);
6791:
6792: --
6793: -- Upgrade strategy
6852: IF p_source_6 IS NOT NULL
6853: THEN
6854:
6855: --
6856: XLA_AE_LINES_PKG.SetNewLine;
6857:
6858: p_balance_type_code := l_balance_type_code;
6859: -- set the flag so later we will know whether the gain loss line needs to be created
6860:
6864:
6865: --
6866: -- bulk performance
6867: --
6868: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6869: p_header_num => 0); -- 4262811
6870: --
6871: -- set accounting line options
6872: --
6869: p_header_num => 0); -- 4262811
6870: --
6871: -- set accounting line options
6872: --
6873: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6874: p_natural_side_code => 'C'
6875: , p_gain_or_loss_flag => 'N'
6876: , p_gl_transfer_mode_code => 'D'
6877: , p_acct_entry_type_code => 'E'
6883: --
6884: --
6885: -- set accounting line type info
6886: --
6887: xla_ae_lines_pkg.SetAcctLineType
6888: (p_component_type => l_component_type
6889: ,p_event_type_code => l_event_type_code
6890: ,p_line_definition_owner_code => l_line_definition_owner_code
6891: ,p_line_definition_code => l_line_definition_code
6897: ,p_event_class_code => l_event_class_code);
6898: --
6899: -- set accounting class
6900: --
6901: xla_ae_lines_pkg.SetAcctClass(
6902: p_accounting_class_code => 'REQUISITION'
6903: , p_ae_header_id => l_ae_header_id
6904: );
6905:
6905:
6906: --
6907: -- set rounding class
6908: --
6909: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6910: 'REQUISITION';
6911:
6912: --
6913: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6909: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6910: 'REQUISITION';
6911:
6912: --
6913: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6914: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6915: --
6916: -- bulk performance
6917: --
6910: 'REQUISITION';
6911:
6912: --
6913: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6914: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6915: --
6916: -- bulk performance
6917: --
6918: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6914: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6915: --
6916: -- bulk performance
6917: --
6918: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6919:
6920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6921: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6922:
6916: -- bulk performance
6917: --
6918: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6919:
6920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6921: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6922:
6923: -- 4955764
6924: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6921: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6922:
6923: -- 4955764
6924: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6925: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6926:
6927: -- 4458381 Public Sector Enh
6928: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
6924: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6925: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6926:
6927: -- 4458381 Public Sector Enh
6928: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
6929: --
6930: -- set accounting attributes for the line type
6931: --
6932: l_entered_amt_idx := 3;
6942: l_rec_acct_attrs.array_char_value(4) := p_source_11;
6943: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
6944: l_rec_acct_attrs.array_num_value(5) := p_source_10;
6945:
6946: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6947: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6948:
6949: ---------------------------------------------------------------------------------------------------------------
6950: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6943: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
6944: l_rec_acct_attrs.array_num_value(5) := p_source_10;
6945:
6946: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6947: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6948:
6949: ---------------------------------------------------------------------------------------------------------------
6950: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6951: ---------------------------------------------------------------------------------------------------------------
6946: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6947: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6948:
6949: ---------------------------------------------------------------------------------------------------------------
6950: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6951: ---------------------------------------------------------------------------------------------------------------
6952: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6953:
6954: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6948:
6949: ---------------------------------------------------------------------------------------------------------------
6950: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6951: ---------------------------------------------------------------------------------------------------------------
6952: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6953:
6954: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6955: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6956:
6950: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6951: ---------------------------------------------------------------------------------------------------------------
6952: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6953:
6954: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6955: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6956:
6957: IF xla_accounting_cache_pkg.GetValueChar
6958: (p_source_code => 'LEDGER_CATEGORY_CODE'
6951: ---------------------------------------------------------------------------------------------------------------
6952: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6953:
6954: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6955: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6956:
6957: IF xla_accounting_cache_pkg.GetValueChar
6958: (p_source_code => 'LEDGER_CATEGORY_CODE'
6959: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6962: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6963: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6964: )
6965: THEN
6966: xla_ae_lines_pkg.BflowUpgEntry
6967: (p_business_method_code => l_bflow_method_code
6968: ,p_business_class_code => l_bflow_class_code
6969: ,p_balance_type => l_balance_type_code);
6970: ELSE
6979: --
6980: -- call description
6981: --
6982:
6983: xla_ae_lines_pkg.SetLineDescription(
6984: p_ae_header_id => l_ae_header_id
6985: ,p_description => Description_1 (
6986: p_application_id => p_application_id
6987: , p_ae_header_id => l_ae_header_id
7012: , x_value_type_code => l_adr_value_type_code
7013: , p_side => 'NA'
7014: );
7015:
7016: xla_ae_lines_pkg.set_ccid(
7017: p_code_combination_id => l_ccid
7018: , p_value_type_code => l_adr_value_type_code
7019: , p_transaction_coa_id => l_adr_transaction_coa_id
7020: , p_accounting_coa_id => l_adr_accounting_coa_id
7048: xla_accounting_err_pkg.build_message
7049: (p_appli_s_name => 'XLA'
7050: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7051: ,p_token_1 => 'LINE_NUMBER'
7052: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7053: ,p_token_2 => 'LINE_TYPE_NAME'
7054: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7055: l_component_type
7056: ,l_component_code
7084: --
7085: --
7086: ------------------------------------------------------------------------------------------------
7087: -- 4219869 Business Flow
7088: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7089: -- Prior Entry. Currently, the following code is always generated.
7090: ------------------------------------------------------------------------------------------------
7091: XLA_AE_LINES_PKG.ValidateCurrentLine;
7092:
7087: -- 4219869 Business Flow
7088: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7089: -- Prior Entry. Currently, the following code is always generated.
7090: ------------------------------------------------------------------------------------------------
7091: XLA_AE_LINES_PKG.ValidateCurrentLine;
7092:
7093: ------------------------------------------------------------------------------------
7094: -- 4219869 Business Flow
7095: -- Populated credit and debit amounts -- Need to generate this within IF
7093: ------------------------------------------------------------------------------------
7094: -- 4219869 Business Flow
7095: -- Populated credit and debit amounts -- Need to generate this within IF
7096: ------------------------------------------------------------------------------------
7097: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7098:
7099: ----------------------------------------------------------------------------------
7100: -- 4219869 Business Flow
7101: -- Update journal entry status -- Need to generate this within IF
7125: -- To allow MPA report to determine if it should generate report process
7126: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7127: ------------------------------------------------------------------------------------------
7128:
7129: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7130: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7131:
7132: --
7133: -- Update the line information that should be overwritten
7126: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7127: ------------------------------------------------------------------------------------------
7128:
7129: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7130: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7131:
7132: --
7133: -- Update the line information that should be overwritten
7134: --
7131:
7132: --
7133: -- Update the line information that should be overwritten
7134: --
7135: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7136: p_header_num => 1);
7137: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7138:
7139: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7133: -- Update the line information that should be overwritten
7134: --
7135: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7136: p_header_num => 1);
7137: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7138:
7139: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7140:
7141: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7135: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7136: p_header_num => 1);
7137: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7138:
7139: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7140:
7141: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7142: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7143: END IF;
7138:
7139: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7140:
7141: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7142: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7143: END IF;
7144:
7145: --
7146: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7145: --
7146: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7147: --
7148: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7149: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7150: ELSE
7151: ---------------------------------------------------------------------------------------------------
7152: -- 4262811a Switch Sign
7153: ---------------------------------------------------------------------------------------------------
7150: ELSE
7151: ---------------------------------------------------------------------------------------------------
7152: -- 4262811a Switch Sign
7153: ---------------------------------------------------------------------------------------------------
7154: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7155: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7151: ---------------------------------------------------------------------------------------------------
7152: -- 4262811a Switch Sign
7153: ---------------------------------------------------------------------------------------------------
7154: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7155: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7152: -- 4262811a Switch Sign
7153: ---------------------------------------------------------------------------------------------------
7154: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7155: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7160: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7153: ---------------------------------------------------------------------------------------------------
7154: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7155: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7160: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7161: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7154: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7155: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7160: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7161: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7162:
7156: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7160: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7161: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7162:
7163: END IF;
7164:
7157: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7159: -- 5132302
7160: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7161: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7162:
7163: END IF;
7164:
7165: -- 4955764
7162:
7163: END IF;
7164:
7165: -- 4955764
7166: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7167: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7168:
7169:
7170: XLA_AE_LINES_PKG.ValidateCurrentLine;
7166: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7167: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7168:
7169:
7170: XLA_AE_LINES_PKG.ValidateCurrentLine;
7171: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7172:
7173: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7174: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7167: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7168:
7169:
7170: XLA_AE_LINES_PKG.ValidateCurrentLine;
7171: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7172:
7173: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7174: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7175: ,p_balance_type_code => l_balance_type_code);
7294: --
7295: -- bulk performance
7296: --
7297: l_balance_type_code VARCHAR2(1);
7298: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7299: l_log_module VARCHAR2(240);
7300:
7301: --
7302: -- Upgrade strategy
7361: IF p_source_12 IS NOT NULL
7362: THEN
7363:
7364: --
7365: XLA_AE_LINES_PKG.SetNewLine;
7366:
7367: p_balance_type_code := l_balance_type_code;
7368: -- set the flag so later we will know whether the gain loss line needs to be created
7369:
7373:
7374: --
7375: -- bulk performance
7376: --
7377: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7378: p_header_num => 0); -- 4262811
7379: --
7380: -- set accounting line options
7381: --
7378: p_header_num => 0); -- 4262811
7379: --
7380: -- set accounting line options
7381: --
7382: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7383: p_natural_side_code => 'D'
7384: , p_gain_or_loss_flag => 'N'
7385: , p_gl_transfer_mode_code => 'D'
7386: , p_acct_entry_type_code => 'E'
7392: --
7393: --
7394: -- set accounting line type info
7395: --
7396: xla_ae_lines_pkg.SetAcctLineType
7397: (p_component_type => l_component_type
7398: ,p_event_type_code => l_event_type_code
7399: ,p_line_definition_owner_code => l_line_definition_owner_code
7400: ,p_line_definition_code => l_line_definition_code
7406: ,p_event_class_code => l_event_class_code);
7407: --
7408: -- set accounting class
7409: --
7410: xla_ae_lines_pkg.SetAcctClass(
7411: p_accounting_class_code => 'REQUISITION'
7412: , p_ae_header_id => l_ae_header_id
7413: );
7414:
7414:
7415: --
7416: -- set rounding class
7417: --
7418: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7419: 'REQUISITION';
7420:
7421: --
7422: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7418: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7419: 'REQUISITION';
7420:
7421: --
7422: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7423: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7424: --
7425: -- bulk performance
7426: --
7419: 'REQUISITION';
7420:
7421: --
7422: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7423: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7424: --
7425: -- bulk performance
7426: --
7427: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7423: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7424: --
7425: -- bulk performance
7426: --
7427: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7428:
7429: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7430: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7431:
7425: -- bulk performance
7426: --
7427: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7428:
7429: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7430: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7431:
7432: -- 4955764
7433: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7429: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7430: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7431:
7432: -- 4955764
7433: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7434: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7435:
7436: -- 4458381 Public Sector Enh
7437: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
7433: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7434: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7435:
7436: -- 4458381 Public Sector Enh
7437: XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1000;
7438: --
7439: -- set accounting attributes for the line type
7440: --
7441: l_entered_amt_idx := 3;
7451: l_rec_acct_attrs.array_char_value(4) := p_source_11;
7452: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
7453: l_rec_acct_attrs.array_num_value(5) := p_source_10;
7454:
7455: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7456: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7457:
7458: ---------------------------------------------------------------------------------------------------------------
7459: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7452: l_rec_acct_attrs.array_acct_attr_code(5) := 'LEDGER_AMOUNT';
7453: l_rec_acct_attrs.array_num_value(5) := p_source_10;
7454:
7455: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7456: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7457:
7458: ---------------------------------------------------------------------------------------------------------------
7459: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7460: ---------------------------------------------------------------------------------------------------------------
7455: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7456: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7457:
7458: ---------------------------------------------------------------------------------------------------------------
7459: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7460: ---------------------------------------------------------------------------------------------------------------
7461: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7462:
7463: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7457:
7458: ---------------------------------------------------------------------------------------------------------------
7459: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7460: ---------------------------------------------------------------------------------------------------------------
7461: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7462:
7463: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7464: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7465:
7459: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7460: ---------------------------------------------------------------------------------------------------------------
7461: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7462:
7463: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7464: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7465:
7466: IF xla_accounting_cache_pkg.GetValueChar
7467: (p_source_code => 'LEDGER_CATEGORY_CODE'
7460: ---------------------------------------------------------------------------------------------------------------
7461: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7462:
7463: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7464: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7465:
7466: IF xla_accounting_cache_pkg.GetValueChar
7467: (p_source_code => 'LEDGER_CATEGORY_CODE'
7468: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7471: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7472: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7473: )
7474: THEN
7475: xla_ae_lines_pkg.BflowUpgEntry
7476: (p_business_method_code => l_bflow_method_code
7477: ,p_business_class_code => l_bflow_class_code
7478: ,p_balance_type => l_balance_type_code);
7479: ELSE
7488: --
7489: -- call description
7490: --
7491:
7492: xla_ae_lines_pkg.SetLineDescription(
7493: p_ae_header_id => l_ae_header_id
7494: ,p_description => Description_1 (
7495: p_application_id => p_application_id
7496: , p_ae_header_id => l_ae_header_id
7521: , x_value_type_code => l_adr_value_type_code
7522: , p_side => 'NA'
7523: );
7524:
7525: xla_ae_lines_pkg.set_ccid(
7526: p_code_combination_id => l_ccid
7527: , p_value_type_code => l_adr_value_type_code
7528: , p_transaction_coa_id => l_adr_transaction_coa_id
7529: , p_accounting_coa_id => l_adr_accounting_coa_id
7557: xla_accounting_err_pkg.build_message
7558: (p_appli_s_name => 'XLA'
7559: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7560: ,p_token_1 => 'LINE_NUMBER'
7561: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7562: ,p_token_2 => 'LINE_TYPE_NAME'
7563: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7564: l_component_type
7565: ,l_component_code
7593: --
7594: --
7595: ------------------------------------------------------------------------------------------------
7596: -- 4219869 Business Flow
7597: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7598: -- Prior Entry. Currently, the following code is always generated.
7599: ------------------------------------------------------------------------------------------------
7600: XLA_AE_LINES_PKG.ValidateCurrentLine;
7601:
7596: -- 4219869 Business Flow
7597: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7598: -- Prior Entry. Currently, the following code is always generated.
7599: ------------------------------------------------------------------------------------------------
7600: XLA_AE_LINES_PKG.ValidateCurrentLine;
7601:
7602: ------------------------------------------------------------------------------------
7603: -- 4219869 Business Flow
7604: -- Populated credit and debit amounts -- Need to generate this within IF
7602: ------------------------------------------------------------------------------------
7603: -- 4219869 Business Flow
7604: -- Populated credit and debit amounts -- Need to generate this within IF
7605: ------------------------------------------------------------------------------------
7606: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7607:
7608: ----------------------------------------------------------------------------------
7609: -- 4219869 Business Flow
7610: -- Update journal entry status -- Need to generate this within IF
7634: -- To allow MPA report to determine if it should generate report process
7635: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7636: ------------------------------------------------------------------------------------------
7637:
7638: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7639: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7640:
7641: --
7642: -- Update the line information that should be overwritten
7635: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7636: ------------------------------------------------------------------------------------------
7637:
7638: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7639: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7640:
7641: --
7642: -- Update the line information that should be overwritten
7643: --
7640:
7641: --
7642: -- Update the line information that should be overwritten
7643: --
7644: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7645: p_header_num => 1);
7646: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7647:
7648: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7642: -- Update the line information that should be overwritten
7643: --
7644: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7645: p_header_num => 1);
7646: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7647:
7648: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7649:
7650: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7644: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7645: p_header_num => 1);
7646: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7647:
7648: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7649:
7650: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7651: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7652: END IF;
7647:
7648: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7649:
7650: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7651: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7652: END IF;
7653:
7654: --
7655: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7654: --
7655: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7656: --
7657: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7658: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7659: ELSE
7660: ---------------------------------------------------------------------------------------------------
7661: -- 4262811a Switch Sign
7662: ---------------------------------------------------------------------------------------------------
7659: ELSE
7660: ---------------------------------------------------------------------------------------------------
7661: -- 4262811a Switch Sign
7662: ---------------------------------------------------------------------------------------------------
7663: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7660: ---------------------------------------------------------------------------------------------------
7661: -- 4262811a Switch Sign
7662: ---------------------------------------------------------------------------------------------------
7663: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7661: -- 4262811a Switch Sign
7662: ---------------------------------------------------------------------------------------------------
7663: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7669: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7662: ---------------------------------------------------------------------------------------------------
7663: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7669: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7670: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7663: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7664: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7669: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7670: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7671:
7665: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7669: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7670: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7671:
7672: END IF;
7673:
7666: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7667: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7668: -- 5132302
7669: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7670: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7671:
7672: END IF;
7673:
7674: -- 4955764
7671:
7672: END IF;
7673:
7674: -- 4955764
7675: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7676: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7677:
7678:
7679: XLA_AE_LINES_PKG.ValidateCurrentLine;
7675: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7676: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7677:
7678:
7679: XLA_AE_LINES_PKG.ValidateCurrentLine;
7680: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7681:
7682: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7683: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7676: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7677:
7678:
7679: XLA_AE_LINES_PKG.ValidateCurrentLine;
7680: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7681:
7682: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7683: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7684: ,p_balance_type_code => l_balance_type_code);
8122: l_first_event_id NUMBER;
8123: l_last_event_id NUMBER;
8124:
8125: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
8126: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8127: --
8128: --
8129: l_result BOOLEAN := TRUE;
8130: l_rows NUMBER := 1000;
8381: EXIT WHEN l_array_entity_id.COUNT = 0;
8382:
8383: -- initialize arrays
8384: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
8385: XLA_AE_LINES_PKG.g_rec_lines := NULL;
8386:
8387: --
8388: -- Bug 4458708
8389: --
8386:
8387: --
8388: -- Bug 4458708
8389: --
8390: XLA_AE_LINES_PKG.g_LineNumber := 0;
8391:
8392:
8393: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
8394: g_last_hdr_idx := l_array_event_id.LAST;
8527: --
8528: -- following sets the accounting attributes needed to reverse
8529: -- accounting for a distributeion
8530: --
8531: xla_ae_lines_pkg.SetTrxReversalAttrs
8532: (p_event_id => l_event_id
8533: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
8534: ,p_trx_reversal_source => l_trx_reversal_source);
8535:
8559: --
8560: -- insert dummy rows into lines gt table that were created due to
8561: -- transaction reversals
8562: --
8563: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
8564: l_result := XLA_AE_LINES_PKG.InsertLines;
8565: END IF;
8566:
8567: --
8560: -- insert dummy rows into lines gt table that were created due to
8561: -- transaction reversals
8562: --
8563: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
8564: l_result := XLA_AE_LINES_PKG.InsertLines;
8565: END IF;
8566:
8567: --
8568: -- reset the temp_line_num for each set of events fetched from header
8568: -- reset the temp_line_num for each set of events fetched from header
8569: -- cursor rather than doing it for each new event in line cursor
8570: -- Bug 3939231
8571: --
8572: xla_ae_lines_pkg.g_temp_line_num := 0;
8573:
8574:
8575:
8576: --
8639: END IF;
8640: --
8641: EXIT WHEN l_array_entity_id.count = 0;
8642:
8643: XLA_AE_LINES_PKG.g_rec_lines := null;
8644:
8645: --
8646: -- Bug 4458708
8647: --
8644:
8645: --
8646: -- Bug 4458708
8647: --
8648: XLA_AE_LINES_PKG.g_LineNumber := 0;
8649: --
8650: --
8651:
8652: FOR Idx IN 1..l_array_event_id.count LOOP
8716:
8717:
8718:
8719: --
8720: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
8721:
8722: l_acct_reversal_source := SUBSTR(NULL, 1,30);
8723:
8724: IF l_continue_with_lines THEN
8752: --
8753:
8754: -- No reversal code generated
8755:
8756: xla_ae_lines_pkg.SetAcctReversalAttrs
8757: (p_event_id => l_event_id
8758: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
8759: ,p_calculate_acctd_flag => l_calculate_acctd_flag
8760: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
8879:
8880: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
8881: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
8882: AND (l_actual_flag = 'A')) THEN
8883: XLA_AE_LINES_PKG.CreateGainOrLossLines(
8884: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
8885: ,p_application_id => p_application_id
8886: ,p_amb_context_code => 'DEFAULT'
8887: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
8912: END IF;
8913: END IF;
8914:
8915: END LOOP;
8916: l_result := XLA_AE_LINES_PKG.InsertLines ;
8917: end loop;
8918: close line_cur;
8919:
8920:
9355: l_first_event_id NUMBER;
9356: l_last_event_id NUMBER;
9357:
9358: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
9359: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9360: --
9361: --
9362: l_result BOOLEAN := TRUE;
9363: l_rows NUMBER := 1000;
9599: EXIT WHEN l_array_entity_id.COUNT = 0;
9600:
9601: -- initialize arrays
9602: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
9603: XLA_AE_LINES_PKG.g_rec_lines := NULL;
9604:
9605: --
9606: -- Bug 4458708
9607: --
9604:
9605: --
9606: -- Bug 4458708
9607: --
9608: XLA_AE_LINES_PKG.g_LineNumber := 0;
9609:
9610:
9611: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
9612: g_last_hdr_idx := l_array_event_id.LAST;
9745: --
9746: -- following sets the accounting attributes needed to reverse
9747: -- accounting for a distributeion
9748: --
9749: xla_ae_lines_pkg.SetTrxReversalAttrs
9750: (p_event_id => l_event_id
9751: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
9752: ,p_trx_reversal_source => l_trx_reversal_source);
9753:
9777: --
9778: -- insert dummy rows into lines gt table that were created due to
9779: -- transaction reversals
9780: --
9781: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
9782: l_result := XLA_AE_LINES_PKG.InsertLines;
9783: END IF;
9784:
9785: --
9778: -- insert dummy rows into lines gt table that were created due to
9779: -- transaction reversals
9780: --
9781: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
9782: l_result := XLA_AE_LINES_PKG.InsertLines;
9783: END IF;
9784:
9785: --
9786: -- reset the temp_line_num for each set of events fetched from header
9786: -- reset the temp_line_num for each set of events fetched from header
9787: -- cursor rather than doing it for each new event in line cursor
9788: -- Bug 3939231
9789: --
9790: xla_ae_lines_pkg.g_temp_line_num := 0;
9791:
9792:
9793:
9794: --
9852: END IF;
9853: --
9854: EXIT WHEN l_array_entity_id.count = 0;
9855:
9856: XLA_AE_LINES_PKG.g_rec_lines := null;
9857:
9858: --
9859: -- Bug 4458708
9860: --
9857:
9858: --
9859: -- Bug 4458708
9860: --
9861: XLA_AE_LINES_PKG.g_LineNumber := 0;
9862: --
9863: --
9864:
9865: FOR Idx IN 1..l_array_event_id.count LOOP
9929:
9930:
9931:
9932: --
9933: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
9934:
9935: l_acct_reversal_source := SUBSTR(NULL, 1,30);
9936:
9937: IF l_continue_with_lines THEN
9965: --
9966:
9967: -- No reversal code generated
9968:
9969: xla_ae_lines_pkg.SetAcctReversalAttrs
9970: (p_event_id => l_event_id
9971: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
9972: ,p_calculate_acctd_flag => l_calculate_acctd_flag
9973: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
10087:
10088: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
10089: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
10090: AND (l_actual_flag = 'A')) THEN
10091: XLA_AE_LINES_PKG.CreateGainOrLossLines(
10092: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
10093: ,p_application_id => p_application_id
10094: ,p_amb_context_code => 'DEFAULT'
10095: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
10120: END IF;
10121: END IF;
10122:
10123: END LOOP;
10124: l_result := XLA_AE_LINES_PKG.InsertLines ;
10125: end loop;
10126: close line_cur;
10127:
10128:
10558: l_first_event_id NUMBER;
10559: l_last_event_id NUMBER;
10560:
10561: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
10562: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10563: --
10564: --
10565: l_result BOOLEAN := TRUE;
10566: l_rows NUMBER := 1000;
10799: EXIT WHEN l_array_entity_id.COUNT = 0;
10800:
10801: -- initialize arrays
10802: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
10803: XLA_AE_LINES_PKG.g_rec_lines := NULL;
10804:
10805: --
10806: -- Bug 4458708
10807: --
10804:
10805: --
10806: -- Bug 4458708
10807: --
10808: XLA_AE_LINES_PKG.g_LineNumber := 0;
10809:
10810:
10811: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
10812: g_last_hdr_idx := l_array_event_id.LAST;
10945: --
10946: -- following sets the accounting attributes needed to reverse
10947: -- accounting for a distributeion
10948: --
10949: xla_ae_lines_pkg.SetTrxReversalAttrs
10950: (p_event_id => l_event_id
10951: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
10952: ,p_trx_reversal_source => l_trx_reversal_source);
10953:
10977: --
10978: -- insert dummy rows into lines gt table that were created due to
10979: -- transaction reversals
10980: --
10981: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
10982: l_result := XLA_AE_LINES_PKG.InsertLines;
10983: END IF;
10984:
10985: --
10978: -- insert dummy rows into lines gt table that were created due to
10979: -- transaction reversals
10980: --
10981: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
10982: l_result := XLA_AE_LINES_PKG.InsertLines;
10983: END IF;
10984:
10985: --
10986: -- reset the temp_line_num for each set of events fetched from header
10986: -- reset the temp_line_num for each set of events fetched from header
10987: -- cursor rather than doing it for each new event in line cursor
10988: -- Bug 3939231
10989: --
10990: xla_ae_lines_pkg.g_temp_line_num := 0;
10991:
10992:
10993:
10994: --
11051: END IF;
11052: --
11053: EXIT WHEN l_array_entity_id.count = 0;
11054:
11055: XLA_AE_LINES_PKG.g_rec_lines := null;
11056:
11057: --
11058: -- Bug 4458708
11059: --
11056:
11057: --
11058: -- Bug 4458708
11059: --
11060: XLA_AE_LINES_PKG.g_LineNumber := 0;
11061: --
11062: --
11063:
11064: FOR Idx IN 1..l_array_event_id.count LOOP
11128:
11129:
11130:
11131: --
11132: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
11133:
11134: l_acct_reversal_source := SUBSTR(NULL, 1,30);
11135:
11136: IF l_continue_with_lines THEN
11164: --
11165:
11166: -- No reversal code generated
11167:
11168: xla_ae_lines_pkg.SetAcctReversalAttrs
11169: (p_event_id => l_event_id
11170: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
11171: ,p_calculate_acctd_flag => l_calculate_acctd_flag
11172: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
11232:
11233: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
11234: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
11235: AND (l_actual_flag = 'A')) THEN
11236: XLA_AE_LINES_PKG.CreateGainOrLossLines(
11237: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
11238: ,p_application_id => p_application_id
11239: ,p_amb_context_code => 'DEFAULT'
11240: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
11265: END IF;
11266: END IF;
11267:
11268: END LOOP;
11269: l_result := XLA_AE_LINES_PKG.InsertLines ;
11270: end loop;
11271: close line_cur;
11272:
11273:
11703: l_first_event_id NUMBER;
11704: l_last_event_id NUMBER;
11705:
11706: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
11707: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11708: --
11709: --
11710: l_result BOOLEAN := TRUE;
11711: l_rows NUMBER := 1000;
11944: EXIT WHEN l_array_entity_id.COUNT = 0;
11945:
11946: -- initialize arrays
11947: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
11948: XLA_AE_LINES_PKG.g_rec_lines := NULL;
11949:
11950: --
11951: -- Bug 4458708
11952: --
11949:
11950: --
11951: -- Bug 4458708
11952: --
11953: XLA_AE_LINES_PKG.g_LineNumber := 0;
11954:
11955:
11956: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
11957: g_last_hdr_idx := l_array_event_id.LAST;
12090: --
12091: -- following sets the accounting attributes needed to reverse
12092: -- accounting for a distributeion
12093: --
12094: xla_ae_lines_pkg.SetTrxReversalAttrs
12095: (p_event_id => l_event_id
12096: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
12097: ,p_trx_reversal_source => l_trx_reversal_source);
12098:
12122: --
12123: -- insert dummy rows into lines gt table that were created due to
12124: -- transaction reversals
12125: --
12126: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
12127: l_result := XLA_AE_LINES_PKG.InsertLines;
12128: END IF;
12129:
12130: --
12123: -- insert dummy rows into lines gt table that were created due to
12124: -- transaction reversals
12125: --
12126: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
12127: l_result := XLA_AE_LINES_PKG.InsertLines;
12128: END IF;
12129:
12130: --
12131: -- reset the temp_line_num for each set of events fetched from header
12131: -- reset the temp_line_num for each set of events fetched from header
12132: -- cursor rather than doing it for each new event in line cursor
12133: -- Bug 3939231
12134: --
12135: xla_ae_lines_pkg.g_temp_line_num := 0;
12136:
12137:
12138:
12139: --
12196: END IF;
12197: --
12198: EXIT WHEN l_array_entity_id.count = 0;
12199:
12200: XLA_AE_LINES_PKG.g_rec_lines := null;
12201:
12202: --
12203: -- Bug 4458708
12204: --
12201:
12202: --
12203: -- Bug 4458708
12204: --
12205: XLA_AE_LINES_PKG.g_LineNumber := 0;
12206: --
12207: --
12208:
12209: FOR Idx IN 1..l_array_event_id.count LOOP
12273:
12274:
12275:
12276: --
12277: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
12278:
12279: l_acct_reversal_source := SUBSTR(NULL, 1,30);
12280:
12281: IF l_continue_with_lines THEN
12309: --
12310:
12311: -- No reversal code generated
12312:
12313: xla_ae_lines_pkg.SetAcctReversalAttrs
12314: (p_event_id => l_event_id
12315: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
12316: ,p_calculate_acctd_flag => l_calculate_acctd_flag
12317: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
12377:
12378: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
12379: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
12380: AND (l_actual_flag = 'A')) THEN
12381: XLA_AE_LINES_PKG.CreateGainOrLossLines(
12382: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
12383: ,p_application_id => p_application_id
12384: ,p_amb_context_code => 'DEFAULT'
12385: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
12410: END IF;
12411: END IF;
12412:
12413: END LOOP;
12414: l_result := XLA_AE_LINES_PKG.InsertLines ;
12415: end loop;
12416: close line_cur;
12417:
12418:
12848: l_first_event_id NUMBER;
12849: l_last_event_id NUMBER;
12850:
12851: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
12852: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12853: --
12854: --
12855: l_result BOOLEAN := TRUE;
12856: l_rows NUMBER := 1000;
13089: EXIT WHEN l_array_entity_id.COUNT = 0;
13090:
13091: -- initialize arrays
13092: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
13093: XLA_AE_LINES_PKG.g_rec_lines := NULL;
13094:
13095: --
13096: -- Bug 4458708
13097: --
13094:
13095: --
13096: -- Bug 4458708
13097: --
13098: XLA_AE_LINES_PKG.g_LineNumber := 0;
13099:
13100:
13101: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
13102: g_last_hdr_idx := l_array_event_id.LAST;
13235: --
13236: -- following sets the accounting attributes needed to reverse
13237: -- accounting for a distributeion
13238: --
13239: xla_ae_lines_pkg.SetTrxReversalAttrs
13240: (p_event_id => l_event_id
13241: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
13242: ,p_trx_reversal_source => l_trx_reversal_source);
13243:
13267: --
13268: -- insert dummy rows into lines gt table that were created due to
13269: -- transaction reversals
13270: --
13271: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
13272: l_result := XLA_AE_LINES_PKG.InsertLines;
13273: END IF;
13274:
13275: --
13268: -- insert dummy rows into lines gt table that were created due to
13269: -- transaction reversals
13270: --
13271: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
13272: l_result := XLA_AE_LINES_PKG.InsertLines;
13273: END IF;
13274:
13275: --
13276: -- reset the temp_line_num for each set of events fetched from header
13276: -- reset the temp_line_num for each set of events fetched from header
13277: -- cursor rather than doing it for each new event in line cursor
13278: -- Bug 3939231
13279: --
13280: xla_ae_lines_pkg.g_temp_line_num := 0;
13281:
13282:
13283:
13284: --
13341: END IF;
13342: --
13343: EXIT WHEN l_array_entity_id.count = 0;
13344:
13345: XLA_AE_LINES_PKG.g_rec_lines := null;
13346:
13347: --
13348: -- Bug 4458708
13349: --
13346:
13347: --
13348: -- Bug 4458708
13349: --
13350: XLA_AE_LINES_PKG.g_LineNumber := 0;
13351: --
13352: --
13353:
13354: FOR Idx IN 1..l_array_event_id.count LOOP
13418:
13419:
13420:
13421: --
13422: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
13423:
13424: l_acct_reversal_source := SUBSTR(NULL, 1,30);
13425:
13426: IF l_continue_with_lines THEN
13454: --
13455:
13456: -- No reversal code generated
13457:
13458: xla_ae_lines_pkg.SetAcctReversalAttrs
13459: (p_event_id => l_event_id
13460: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
13461: ,p_calculate_acctd_flag => l_calculate_acctd_flag
13462: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
13522:
13523: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
13524: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
13525: AND (l_actual_flag = 'A')) THEN
13526: XLA_AE_LINES_PKG.CreateGainOrLossLines(
13527: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
13528: ,p_application_id => p_application_id
13529: ,p_amb_context_code => 'DEFAULT'
13530: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
13555: END IF;
13556: END IF;
13557:
13558: END LOOP;
13559: l_result := XLA_AE_LINES_PKG.InsertLines ;
13560: end loop;
13561: close line_cur;
13562:
13563:
13655:
13656: --
13657: -- initialize array of lines with NULL
13658: --
13659: xla_ae_lines_pkg.SetNullLine;
13660:
13661: --
13662: -- initialize header extract count -- Bug 4865292
13663: --