654: --
655: -- bulk performance
656: --
657: l_balance_type_code VARCHAR2(1);
658: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
659: l_log_module VARCHAR2(240);
660:
661: --
662: -- Upgrade strategy
722: ') = 'LEASE_CREDIT'
723: THEN
724:
725: --
726: XLA_AE_LINES_PKG.SetNewLine;
727:
728: p_balance_type_code := l_balance_type_code;
729: -- set the flag so later we will know whether the gain loss line needs to be created
730:
734:
735: --
736: -- bulk performance
737: --
738: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
739: p_header_num => 0); -- 4262811
740: --
741: -- set accounting line options
742: --
739: p_header_num => 0); -- 4262811
740: --
741: -- set accounting line options
742: --
743: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
744: p_natural_side_code => 'C'
745: , p_gain_or_loss_flag => 'N'
746: , p_gl_transfer_mode_code => 'S'
747: , p_acct_entry_type_code => 'A'
753: --
754: --
755: -- set accounting line type info
756: --
757: xla_ae_lines_pkg.SetAcctLineType
758: (p_component_type => l_component_type
759: ,p_event_type_code => l_event_type_code
760: ,p_line_definition_owner_code => l_line_definition_owner_code
761: ,p_line_definition_code => l_line_definition_code
767: ,p_event_class_code => l_event_class_code);
768: --
769: -- set accounting class
770: --
771: xla_ae_lines_pkg.SetAcctClass(
772: p_accounting_class_code => 'LEASE_ACCRUAL'
773: , p_ae_header_id => l_ae_header_id
774: );
775:
775:
776: --
777: -- set rounding class
778: --
779: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
780: 'LEASE_ACCRUAL';
781:
782: --
783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
779: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
780: 'LEASE_ACCRUAL';
781:
782: --
783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
785: --
786: -- bulk performance
787: --
780: 'LEASE_ACCRUAL';
781:
782: --
783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
785: --
786: -- bulk performance
787: --
788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
785: --
786: -- bulk performance
787: --
788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
789:
790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
792:
786: -- bulk performance
787: --
788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
789:
790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
792:
793: -- 4955764
794: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
792:
793: -- 4955764
794: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
795: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
796:
797: -- 4458381 Public Sector Enh
798:
816: l_rec_acct_attrs.array_num_value(6) := p_source_12;
817: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
818: l_rec_acct_attrs.array_char_value(7) := p_source_13;
819:
820: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
821: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
822:
823: ---------------------------------------------------------------------------------------------------------------
824: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
817: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
818: l_rec_acct_attrs.array_char_value(7) := p_source_13;
819:
820: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
821: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
822:
823: ---------------------------------------------------------------------------------------------------------------
824: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
825: ---------------------------------------------------------------------------------------------------------------
820: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
821: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
822:
823: ---------------------------------------------------------------------------------------------------------------
824: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
825: ---------------------------------------------------------------------------------------------------------------
826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
827:
828: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
822:
823: ---------------------------------------------------------------------------------------------------------------
824: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
825: ---------------------------------------------------------------------------------------------------------------
826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
827:
828: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
829: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
830:
824: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
825: ---------------------------------------------------------------------------------------------------------------
826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
827:
828: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
829: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
830:
831: IF xla_accounting_cache_pkg.GetValueChar
832: (p_source_code => 'LEDGER_CATEGORY_CODE'
825: ---------------------------------------------------------------------------------------------------------------
826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
827:
828: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
829: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
830:
831: IF xla_accounting_cache_pkg.GetValueChar
832: (p_source_code => 'LEDGER_CATEGORY_CODE'
833: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
836: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
837: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
838: )
839: THEN
840: xla_ae_lines_pkg.BflowUpgEntry
841: (p_business_method_code => l_bflow_method_code
842: ,p_business_class_code => l_bflow_class_code
843: ,p_balance_type => l_balance_type_code);
844: ELSE
853: --
854: -- call description
855: --
856:
857: xla_ae_lines_pkg.SetLineDescription(
858: p_ae_header_id => l_ae_header_id
859: ,p_description => Description_1 (
860: p_application_id => p_application_id
861: , p_ae_header_id => l_ae_header_id
887: , x_value_type_code => l_adr_value_type_code
888: , p_side => 'NA'
889: );
890:
891: xla_ae_lines_pkg.set_ccid(
892: p_code_combination_id => l_ccid
893: , p_value_type_code => l_adr_value_type_code
894: , p_transaction_coa_id => l_adr_transaction_coa_id
895: , p_accounting_coa_id => l_adr_accounting_coa_id
923: xla_accounting_err_pkg.build_message
924: (p_appli_s_name => 'XLA'
925: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
926: ,p_token_1 => 'LINE_NUMBER'
927: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
928: ,p_token_2 => 'LINE_TYPE_NAME'
929: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
930: l_component_type
931: ,l_component_code
959: --
960: --
961: ------------------------------------------------------------------------------------------------
962: -- 4219869 Business Flow
963: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
964: -- Prior Entry. Currently, the following code is always generated.
965: ------------------------------------------------------------------------------------------------
966: XLA_AE_LINES_PKG.ValidateCurrentLine;
967:
962: -- 4219869 Business Flow
963: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
964: -- Prior Entry. Currently, the following code is always generated.
965: ------------------------------------------------------------------------------------------------
966: XLA_AE_LINES_PKG.ValidateCurrentLine;
967:
968: ------------------------------------------------------------------------------------
969: -- 4219869 Business Flow
970: -- Populated credit and debit amounts -- Need to generate this within IF
968: ------------------------------------------------------------------------------------
969: -- 4219869 Business Flow
970: -- Populated credit and debit amounts -- Need to generate this within IF
971: ------------------------------------------------------------------------------------
972: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
973:
974: ----------------------------------------------------------------------------------
975: -- 4219869 Business Flow
976: -- Update journal entry status -- Need to generate this within IF
1000: -- To allow MPA report to determine if it should generate report process
1001: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1002: ------------------------------------------------------------------------------------------
1003:
1004: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1005: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1006:
1007: --
1008: -- Update the line information that should be overwritten
1001: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1002: ------------------------------------------------------------------------------------------
1003:
1004: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1005: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1006:
1007: --
1008: -- Update the line information that should be overwritten
1009: --
1006:
1007: --
1008: -- Update the line information that should be overwritten
1009: --
1010: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1011: p_header_num => 1);
1012: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1013:
1014: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1008: -- Update the line information that should be overwritten
1009: --
1010: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1011: p_header_num => 1);
1012: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1013:
1014: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1015:
1016: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1010: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1011: p_header_num => 1);
1012: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1013:
1014: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1015:
1016: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1017: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1018: END IF;
1013:
1014: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1015:
1016: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1017: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1018: END IF;
1019:
1020: --
1021: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1020: --
1021: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1022: --
1023: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
1024: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
1025: ELSE
1026: ---------------------------------------------------------------------------------------------------
1027: -- 4262811a Switch Sign
1028: ---------------------------------------------------------------------------------------------------
1025: ELSE
1026: ---------------------------------------------------------------------------------------------------
1027: -- 4262811a Switch Sign
1028: ---------------------------------------------------------------------------------------------------
1029: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1026: ---------------------------------------------------------------------------------------------------
1027: -- 4262811a Switch Sign
1028: ---------------------------------------------------------------------------------------------------
1029: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1027: -- 4262811a Switch Sign
1028: ---------------------------------------------------------------------------------------------------
1029: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1035: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1028: ---------------------------------------------------------------------------------------------------
1029: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1035: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1036: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1029: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1035: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1036: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1037:
1031: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1035: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1036: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1037:
1038: END IF;
1039:
1032: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1033: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1034: -- 5132302
1035: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1036: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1037:
1038: END IF;
1039:
1040: -- 4955764
1037:
1038: END IF;
1039:
1040: -- 4955764
1041: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1042: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1043:
1044:
1045: XLA_AE_LINES_PKG.ValidateCurrentLine;
1041: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1042: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1043:
1044:
1045: XLA_AE_LINES_PKG.ValidateCurrentLine;
1046: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1047:
1048: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1049: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1042: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1043:
1044:
1045: XLA_AE_LINES_PKG.ValidateCurrentLine;
1046: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1047:
1048: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1049: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1050: ,p_balance_type_code => l_balance_type_code);
1178: --
1179: -- bulk performance
1180: --
1181: l_balance_type_code VARCHAR2(1);
1182: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
1183: l_log_module VARCHAR2(240);
1184:
1185: --
1186: -- Upgrade strategy
1246: ') = 'LEASE_DEBIT'
1247: THEN
1248:
1249: --
1250: XLA_AE_LINES_PKG.SetNewLine;
1251:
1252: p_balance_type_code := l_balance_type_code;
1253: -- set the flag so later we will know whether the gain loss line needs to be created
1254:
1258:
1259: --
1260: -- bulk performance
1261: --
1262: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1263: p_header_num => 0); -- 4262811
1264: --
1265: -- set accounting line options
1266: --
1263: p_header_num => 0); -- 4262811
1264: --
1265: -- set accounting line options
1266: --
1267: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1268: p_natural_side_code => 'D'
1269: , p_gain_or_loss_flag => 'N'
1270: , p_gl_transfer_mode_code => 'S'
1271: , p_acct_entry_type_code => 'A'
1277: --
1278: --
1279: -- set accounting line type info
1280: --
1281: xla_ae_lines_pkg.SetAcctLineType
1282: (p_component_type => l_component_type
1283: ,p_event_type_code => l_event_type_code
1284: ,p_line_definition_owner_code => l_line_definition_owner_code
1285: ,p_line_definition_code => l_line_definition_code
1291: ,p_event_class_code => l_event_class_code);
1292: --
1293: -- set accounting class
1294: --
1295: xla_ae_lines_pkg.SetAcctClass(
1296: p_accounting_class_code => 'LEASE_ACCRUAL'
1297: , p_ae_header_id => l_ae_header_id
1298: );
1299:
1299:
1300: --
1301: -- set rounding class
1302: --
1303: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1304: 'LEASE_ACCRUAL';
1305:
1306: --
1307: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1303: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1304: 'LEASE_ACCRUAL';
1305:
1306: --
1307: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1308: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1309: --
1310: -- bulk performance
1311: --
1304: 'LEASE_ACCRUAL';
1305:
1306: --
1307: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1308: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1309: --
1310: -- bulk performance
1311: --
1312: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1308: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1309: --
1310: -- bulk performance
1311: --
1312: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1313:
1314: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1315: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1316:
1310: -- bulk performance
1311: --
1312: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1313:
1314: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1315: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1316:
1317: -- 4955764
1318: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1314: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1315: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1316:
1317: -- 4955764
1318: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1319: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1320:
1321: -- 4458381 Public Sector Enh
1322:
1340: l_rec_acct_attrs.array_num_value(6) := p_source_12;
1341: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
1342: l_rec_acct_attrs.array_char_value(7) := p_source_13;
1343:
1344: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1345: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1346:
1347: ---------------------------------------------------------------------------------------------------------------
1348: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1341: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
1342: l_rec_acct_attrs.array_char_value(7) := p_source_13;
1343:
1344: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1345: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1346:
1347: ---------------------------------------------------------------------------------------------------------------
1348: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1349: ---------------------------------------------------------------------------------------------------------------
1344: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1345: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1346:
1347: ---------------------------------------------------------------------------------------------------------------
1348: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1349: ---------------------------------------------------------------------------------------------------------------
1350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1351:
1352: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1346:
1347: ---------------------------------------------------------------------------------------------------------------
1348: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1349: ---------------------------------------------------------------------------------------------------------------
1350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1351:
1352: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1353: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1354:
1348: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1349: ---------------------------------------------------------------------------------------------------------------
1350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1351:
1352: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1353: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1354:
1355: IF xla_accounting_cache_pkg.GetValueChar
1356: (p_source_code => 'LEDGER_CATEGORY_CODE'
1349: ---------------------------------------------------------------------------------------------------------------
1350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1351:
1352: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1353: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1354:
1355: IF xla_accounting_cache_pkg.GetValueChar
1356: (p_source_code => 'LEDGER_CATEGORY_CODE'
1357: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1360: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1361: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1362: )
1363: THEN
1364: xla_ae_lines_pkg.BflowUpgEntry
1365: (p_business_method_code => l_bflow_method_code
1366: ,p_business_class_code => l_bflow_class_code
1367: ,p_balance_type => l_balance_type_code);
1368: ELSE
1377: --
1378: -- call description
1379: --
1380:
1381: xla_ae_lines_pkg.SetLineDescription(
1382: p_ae_header_id => l_ae_header_id
1383: ,p_description => Description_1 (
1384: p_application_id => p_application_id
1385: , p_ae_header_id => l_ae_header_id
1411: , x_value_type_code => l_adr_value_type_code
1412: , p_side => 'NA'
1413: );
1414:
1415: xla_ae_lines_pkg.set_ccid(
1416: p_code_combination_id => l_ccid
1417: , p_value_type_code => l_adr_value_type_code
1418: , p_transaction_coa_id => l_adr_transaction_coa_id
1419: , p_accounting_coa_id => l_adr_accounting_coa_id
1447: xla_accounting_err_pkg.build_message
1448: (p_appli_s_name => 'XLA'
1449: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1450: ,p_token_1 => 'LINE_NUMBER'
1451: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1452: ,p_token_2 => 'LINE_TYPE_NAME'
1453: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1454: l_component_type
1455: ,l_component_code
1483: --
1484: --
1485: ------------------------------------------------------------------------------------------------
1486: -- 4219869 Business Flow
1487: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1488: -- Prior Entry. Currently, the following code is always generated.
1489: ------------------------------------------------------------------------------------------------
1490: XLA_AE_LINES_PKG.ValidateCurrentLine;
1491:
1486: -- 4219869 Business Flow
1487: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
1488: -- Prior Entry. Currently, the following code is always generated.
1489: ------------------------------------------------------------------------------------------------
1490: XLA_AE_LINES_PKG.ValidateCurrentLine;
1491:
1492: ------------------------------------------------------------------------------------
1493: -- 4219869 Business Flow
1494: -- Populated credit and debit amounts -- Need to generate this within IF
1492: ------------------------------------------------------------------------------------
1493: -- 4219869 Business Flow
1494: -- Populated credit and debit amounts -- Need to generate this within IF
1495: ------------------------------------------------------------------------------------
1496: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1497:
1498: ----------------------------------------------------------------------------------
1499: -- 4219869 Business Flow
1500: -- Update journal entry status -- Need to generate this within IF
1524: -- To allow MPA report to determine if it should generate report process
1525: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1526: ------------------------------------------------------------------------------------------
1527:
1528: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1529: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1530:
1531: --
1532: -- Update the line information that should be overwritten
1525: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
1526: ------------------------------------------------------------------------------------------
1527:
1528: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
1529: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
1530:
1531: --
1532: -- Update the line information that should be overwritten
1533: --
1530:
1531: --
1532: -- Update the line information that should be overwritten
1533: --
1534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1535: p_header_num => 1);
1536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1537:
1538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1532: -- Update the line information that should be overwritten
1533: --
1534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1535: p_header_num => 1);
1536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1537:
1538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1539:
1540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
1535: p_header_num => 1);
1536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
1537:
1538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1539:
1540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1541: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1542: END IF;
1537:
1538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
1539:
1540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
1541: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
1542: END IF;
1543:
1544: --
1545: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1544: --
1545: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
1546: --
1547: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
1548: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
1549: ELSE
1550: ---------------------------------------------------------------------------------------------------
1551: -- 4262811a Switch Sign
1552: ---------------------------------------------------------------------------------------------------
1549: ELSE
1550: ---------------------------------------------------------------------------------------------------
1551: -- 4262811a Switch Sign
1552: ---------------------------------------------------------------------------------------------------
1553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1550: ---------------------------------------------------------------------------------------------------
1551: -- 4262811a Switch Sign
1552: ---------------------------------------------------------------------------------------------------
1553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1551: -- 4262811a Switch Sign
1552: ---------------------------------------------------------------------------------------------------
1553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1552: ---------------------------------------------------------------------------------------------------
1553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
1554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1561:
1555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1561:
1562: END IF;
1563:
1556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
1557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1558: -- 5132302
1559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
1560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
1561:
1562: END IF;
1563:
1564: -- 4955764
1561:
1562: END IF;
1563:
1564: -- 4955764
1565: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1567:
1568:
1569: XLA_AE_LINES_PKG.ValidateCurrentLine;
1565: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1567:
1568:
1569: XLA_AE_LINES_PKG.ValidateCurrentLine;
1570: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1571:
1572: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1573: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
1567:
1568:
1569: XLA_AE_LINES_PKG.ValidateCurrentLine;
1570: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
1571:
1572: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
1573: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
1574: ,p_balance_type_code => l_balance_type_code);
1702: --
1703: -- bulk performance
1704: --
1705: l_balance_type_code VARCHAR2(1);
1706: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
1707: l_log_module VARCHAR2(240);
1708:
1709: --
1710: -- Upgrade strategy
1770: ') = 'LEASE_CREDIT'
1771: THEN
1772:
1773: --
1774: XLA_AE_LINES_PKG.SetNewLine;
1775:
1776: p_balance_type_code := l_balance_type_code;
1777: -- set the flag so later we will know whether the gain loss line needs to be created
1778:
1782:
1783: --
1784: -- bulk performance
1785: --
1786: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
1787: p_header_num => 0); -- 4262811
1788: --
1789: -- set accounting line options
1790: --
1787: p_header_num => 0); -- 4262811
1788: --
1789: -- set accounting line options
1790: --
1791: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
1792: p_natural_side_code => 'C'
1793: , p_gain_or_loss_flag => 'N'
1794: , p_gl_transfer_mode_code => 'S'
1795: , p_acct_entry_type_code => 'A'
1801: --
1802: --
1803: -- set accounting line type info
1804: --
1805: xla_ae_lines_pkg.SetAcctLineType
1806: (p_component_type => l_component_type
1807: ,p_event_type_code => l_event_type_code
1808: ,p_line_definition_owner_code => l_line_definition_owner_code
1809: ,p_line_definition_code => l_line_definition_code
1815: ,p_event_class_code => l_event_class_code);
1816: --
1817: -- set accounting class
1818: --
1819: xla_ae_lines_pkg.SetAcctClass(
1820: p_accounting_class_code => 'ASSET_DISPOSITION'
1821: , p_ae_header_id => l_ae_header_id
1822: );
1823:
1823:
1824: --
1825: -- set rounding class
1826: --
1827: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1828: 'ASSET_DISPOSITION';
1829:
1830: --
1831: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1827: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
1828: 'ASSET_DISPOSITION';
1829:
1830: --
1831: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1832: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1833: --
1834: -- bulk performance
1835: --
1828: 'ASSET_DISPOSITION';
1829:
1830: --
1831: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
1832: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1833: --
1834: -- bulk performance
1835: --
1836: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1832: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
1833: --
1834: -- bulk performance
1835: --
1836: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1837:
1838: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1839: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1840:
1834: -- bulk performance
1835: --
1836: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
1837:
1838: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1839: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1840:
1841: -- 4955764
1842: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1838: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
1839: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
1840:
1841: -- 4955764
1842: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
1843: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
1844:
1845: -- 4458381 Public Sector Enh
1846:
1864: l_rec_acct_attrs.array_num_value(6) := p_source_12;
1865: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
1866: l_rec_acct_attrs.array_char_value(7) := p_source_13;
1867:
1868: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1869: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1870:
1871: ---------------------------------------------------------------------------------------------------------------
1872: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1865: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
1866: l_rec_acct_attrs.array_char_value(7) := p_source_13;
1867:
1868: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1869: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1870:
1871: ---------------------------------------------------------------------------------------------------------------
1872: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1873: ---------------------------------------------------------------------------------------------------------------
1868: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
1869: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
1870:
1871: ---------------------------------------------------------------------------------------------------------------
1872: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1873: ---------------------------------------------------------------------------------------------------------------
1874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1875:
1876: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1870:
1871: ---------------------------------------------------------------------------------------------------------------
1872: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1873: ---------------------------------------------------------------------------------------------------------------
1874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1875:
1876: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1877: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1878:
1872: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
1873: ---------------------------------------------------------------------------------------------------------------
1874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1875:
1876: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1877: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1878:
1879: IF xla_accounting_cache_pkg.GetValueChar
1880: (p_source_code => 'LEDGER_CATEGORY_CODE'
1873: ---------------------------------------------------------------------------------------------------------------
1874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
1875:
1876: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1877: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
1878:
1879: IF xla_accounting_cache_pkg.GetValueChar
1880: (p_source_code => 'LEDGER_CATEGORY_CODE'
1881: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
1884: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
1885: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
1886: )
1887: THEN
1888: xla_ae_lines_pkg.BflowUpgEntry
1889: (p_business_method_code => l_bflow_method_code
1890: ,p_business_class_code => l_bflow_class_code
1891: ,p_balance_type => l_balance_type_code);
1892: ELSE
1901: --
1902: -- call description
1903: --
1904:
1905: xla_ae_lines_pkg.SetLineDescription(
1906: p_ae_header_id => l_ae_header_id
1907: ,p_description => Description_1 (
1908: p_application_id => p_application_id
1909: , p_ae_header_id => l_ae_header_id
1935: , x_value_type_code => l_adr_value_type_code
1936: , p_side => 'NA'
1937: );
1938:
1939: xla_ae_lines_pkg.set_ccid(
1940: p_code_combination_id => l_ccid
1941: , p_value_type_code => l_adr_value_type_code
1942: , p_transaction_coa_id => l_adr_transaction_coa_id
1943: , p_accounting_coa_id => l_adr_accounting_coa_id
1971: xla_accounting_err_pkg.build_message
1972: (p_appli_s_name => 'XLA'
1973: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
1974: ,p_token_1 => 'LINE_NUMBER'
1975: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
1976: ,p_token_2 => 'LINE_TYPE_NAME'
1977: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
1978: l_component_type
1979: ,l_component_code
2007: --
2008: --
2009: ------------------------------------------------------------------------------------------------
2010: -- 4219869 Business Flow
2011: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2012: -- Prior Entry. Currently, the following code is always generated.
2013: ------------------------------------------------------------------------------------------------
2014: XLA_AE_LINES_PKG.ValidateCurrentLine;
2015:
2010: -- 4219869 Business Flow
2011: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2012: -- Prior Entry. Currently, the following code is always generated.
2013: ------------------------------------------------------------------------------------------------
2014: XLA_AE_LINES_PKG.ValidateCurrentLine;
2015:
2016: ------------------------------------------------------------------------------------
2017: -- 4219869 Business Flow
2018: -- Populated credit and debit amounts -- Need to generate this within IF
2016: ------------------------------------------------------------------------------------
2017: -- 4219869 Business Flow
2018: -- Populated credit and debit amounts -- Need to generate this within IF
2019: ------------------------------------------------------------------------------------
2020: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2021:
2022: ----------------------------------------------------------------------------------
2023: -- 4219869 Business Flow
2024: -- Update journal entry status -- Need to generate this within IF
2048: -- To allow MPA report to determine if it should generate report process
2049: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2050: ------------------------------------------------------------------------------------------
2051:
2052: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2053: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2054:
2055: --
2056: -- Update the line information that should be overwritten
2049: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2050: ------------------------------------------------------------------------------------------
2051:
2052: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2053: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2054:
2055: --
2056: -- Update the line information that should be overwritten
2057: --
2054:
2055: --
2056: -- Update the line information that should be overwritten
2057: --
2058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2059: p_header_num => 1);
2060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2061:
2062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2056: -- Update the line information that should be overwritten
2057: --
2058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2059: p_header_num => 1);
2060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2061:
2062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2063:
2064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2059: p_header_num => 1);
2060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2061:
2062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2063:
2064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2065: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2066: END IF;
2061:
2062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2063:
2064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2065: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2066: END IF;
2067:
2068: --
2069: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2068: --
2069: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2070: --
2071: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2072: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2073: ELSE
2074: ---------------------------------------------------------------------------------------------------
2075: -- 4262811a Switch Sign
2076: ---------------------------------------------------------------------------------------------------
2073: ELSE
2074: ---------------------------------------------------------------------------------------------------
2075: -- 4262811a Switch Sign
2076: ---------------------------------------------------------------------------------------------------
2077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2074: ---------------------------------------------------------------------------------------------------
2075: -- 4262811a Switch Sign
2076: ---------------------------------------------------------------------------------------------------
2077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2075: -- 4262811a Switch Sign
2076: ---------------------------------------------------------------------------------------------------
2077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2076: ---------------------------------------------------------------------------------------------------
2077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2085:
2079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2085:
2086: END IF;
2087:
2080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2082: -- 5132302
2083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2085:
2086: END IF;
2087:
2088: -- 4955764
2085:
2086: END IF;
2087:
2088: -- 4955764
2089: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2091:
2092:
2093: XLA_AE_LINES_PKG.ValidateCurrentLine;
2089: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2091:
2092:
2093: XLA_AE_LINES_PKG.ValidateCurrentLine;
2094: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2095:
2096: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2097: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2091:
2092:
2093: XLA_AE_LINES_PKG.ValidateCurrentLine;
2094: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2095:
2096: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2097: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2098: ,p_balance_type_code => l_balance_type_code);
2226: --
2227: -- bulk performance
2228: --
2229: l_balance_type_code VARCHAR2(1);
2230: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2231: l_log_module VARCHAR2(240);
2232:
2233: --
2234: -- Upgrade strategy
2294: ') = 'LEASE_DEBIT'
2295: THEN
2296:
2297: --
2298: XLA_AE_LINES_PKG.SetNewLine;
2299:
2300: p_balance_type_code := l_balance_type_code;
2301: -- set the flag so later we will know whether the gain loss line needs to be created
2302:
2306:
2307: --
2308: -- bulk performance
2309: --
2310: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2311: p_header_num => 0); -- 4262811
2312: --
2313: -- set accounting line options
2314: --
2311: p_header_num => 0); -- 4262811
2312: --
2313: -- set accounting line options
2314: --
2315: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2316: p_natural_side_code => 'D'
2317: , p_gain_or_loss_flag => 'N'
2318: , p_gl_transfer_mode_code => 'S'
2319: , p_acct_entry_type_code => 'A'
2325: --
2326: --
2327: -- set accounting line type info
2328: --
2329: xla_ae_lines_pkg.SetAcctLineType
2330: (p_component_type => l_component_type
2331: ,p_event_type_code => l_event_type_code
2332: ,p_line_definition_owner_code => l_line_definition_owner_code
2333: ,p_line_definition_code => l_line_definition_code
2339: ,p_event_class_code => l_event_class_code);
2340: --
2341: -- set accounting class
2342: --
2343: xla_ae_lines_pkg.SetAcctClass(
2344: p_accounting_class_code => 'ASSET_DISPOSITION'
2345: , p_ae_header_id => l_ae_header_id
2346: );
2347:
2347:
2348: --
2349: -- set rounding class
2350: --
2351: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2352: 'ASSET_DISPOSITION';
2353:
2354: --
2355: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2351: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2352: 'ASSET_DISPOSITION';
2353:
2354: --
2355: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2356: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2357: --
2358: -- bulk performance
2359: --
2352: 'ASSET_DISPOSITION';
2353:
2354: --
2355: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2356: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2357: --
2358: -- bulk performance
2359: --
2360: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2356: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2357: --
2358: -- bulk performance
2359: --
2360: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2361:
2362: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2363: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2364:
2358: -- bulk performance
2359: --
2360: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2361:
2362: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2363: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2364:
2365: -- 4955764
2366: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2362: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2363: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2364:
2365: -- 4955764
2366: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2367: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2368:
2369: -- 4458381 Public Sector Enh
2370:
2388: l_rec_acct_attrs.array_num_value(6) := p_source_12;
2389: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
2390: l_rec_acct_attrs.array_char_value(7) := p_source_13;
2391:
2392: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2393: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2394:
2395: ---------------------------------------------------------------------------------------------------------------
2396: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2389: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
2390: l_rec_acct_attrs.array_char_value(7) := p_source_13;
2391:
2392: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2393: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2394:
2395: ---------------------------------------------------------------------------------------------------------------
2396: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2397: ---------------------------------------------------------------------------------------------------------------
2392: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2393: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2394:
2395: ---------------------------------------------------------------------------------------------------------------
2396: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2397: ---------------------------------------------------------------------------------------------------------------
2398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2399:
2400: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2394:
2395: ---------------------------------------------------------------------------------------------------------------
2396: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2397: ---------------------------------------------------------------------------------------------------------------
2398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2399:
2400: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2401: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2402:
2396: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2397: ---------------------------------------------------------------------------------------------------------------
2398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2399:
2400: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2401: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2402:
2403: IF xla_accounting_cache_pkg.GetValueChar
2404: (p_source_code => 'LEDGER_CATEGORY_CODE'
2397: ---------------------------------------------------------------------------------------------------------------
2398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2399:
2400: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2401: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2402:
2403: IF xla_accounting_cache_pkg.GetValueChar
2404: (p_source_code => 'LEDGER_CATEGORY_CODE'
2405: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2408: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2409: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2410: )
2411: THEN
2412: xla_ae_lines_pkg.BflowUpgEntry
2413: (p_business_method_code => l_bflow_method_code
2414: ,p_business_class_code => l_bflow_class_code
2415: ,p_balance_type => l_balance_type_code);
2416: ELSE
2425: --
2426: -- call description
2427: --
2428:
2429: xla_ae_lines_pkg.SetLineDescription(
2430: p_ae_header_id => l_ae_header_id
2431: ,p_description => Description_1 (
2432: p_application_id => p_application_id
2433: , p_ae_header_id => l_ae_header_id
2459: , x_value_type_code => l_adr_value_type_code
2460: , p_side => 'NA'
2461: );
2462:
2463: xla_ae_lines_pkg.set_ccid(
2464: p_code_combination_id => l_ccid
2465: , p_value_type_code => l_adr_value_type_code
2466: , p_transaction_coa_id => l_adr_transaction_coa_id
2467: , p_accounting_coa_id => l_adr_accounting_coa_id
2495: xla_accounting_err_pkg.build_message
2496: (p_appli_s_name => 'XLA'
2497: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2498: ,p_token_1 => 'LINE_NUMBER'
2499: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2500: ,p_token_2 => 'LINE_TYPE_NAME'
2501: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2502: l_component_type
2503: ,l_component_code
2531: --
2532: --
2533: ------------------------------------------------------------------------------------------------
2534: -- 4219869 Business Flow
2535: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2536: -- Prior Entry. Currently, the following code is always generated.
2537: ------------------------------------------------------------------------------------------------
2538: XLA_AE_LINES_PKG.ValidateCurrentLine;
2539:
2534: -- 4219869 Business Flow
2535: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2536: -- Prior Entry. Currently, the following code is always generated.
2537: ------------------------------------------------------------------------------------------------
2538: XLA_AE_LINES_PKG.ValidateCurrentLine;
2539:
2540: ------------------------------------------------------------------------------------
2541: -- 4219869 Business Flow
2542: -- Populated credit and debit amounts -- Need to generate this within IF
2540: ------------------------------------------------------------------------------------
2541: -- 4219869 Business Flow
2542: -- Populated credit and debit amounts -- Need to generate this within IF
2543: ------------------------------------------------------------------------------------
2544: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2545:
2546: ----------------------------------------------------------------------------------
2547: -- 4219869 Business Flow
2548: -- Update journal entry status -- Need to generate this within IF
2572: -- To allow MPA report to determine if it should generate report process
2573: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2574: ------------------------------------------------------------------------------------------
2575:
2576: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2577: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2578:
2579: --
2580: -- Update the line information that should be overwritten
2573: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2574: ------------------------------------------------------------------------------------------
2575:
2576: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2577: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2578:
2579: --
2580: -- Update the line information that should be overwritten
2581: --
2578:
2579: --
2580: -- Update the line information that should be overwritten
2581: --
2582: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2583: p_header_num => 1);
2584: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2585:
2586: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2580: -- Update the line information that should be overwritten
2581: --
2582: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2583: p_header_num => 1);
2584: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2585:
2586: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2587:
2588: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2582: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2583: p_header_num => 1);
2584: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2585:
2586: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2587:
2588: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2589: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2590: END IF;
2585:
2586: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2587:
2588: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2589: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2590: END IF;
2591:
2592: --
2593: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2592: --
2593: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2594: --
2595: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2596: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2597: ELSE
2598: ---------------------------------------------------------------------------------------------------
2599: -- 4262811a Switch Sign
2600: ---------------------------------------------------------------------------------------------------
2597: ELSE
2598: ---------------------------------------------------------------------------------------------------
2599: -- 4262811a Switch Sign
2600: ---------------------------------------------------------------------------------------------------
2601: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2598: ---------------------------------------------------------------------------------------------------
2599: -- 4262811a Switch Sign
2600: ---------------------------------------------------------------------------------------------------
2601: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2599: -- 4262811a Switch Sign
2600: ---------------------------------------------------------------------------------------------------
2601: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2607: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2600: ---------------------------------------------------------------------------------------------------
2601: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2607: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2608: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2601: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2607: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2608: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2609:
2603: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2607: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2608: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2609:
2610: END IF;
2611:
2604: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2605: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2606: -- 5132302
2607: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2608: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2609:
2610: END IF;
2611:
2612: -- 4955764
2609:
2610: END IF;
2611:
2612: -- 4955764
2613: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2614: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2615:
2616:
2617: XLA_AE_LINES_PKG.ValidateCurrentLine;
2613: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2614: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2615:
2616:
2617: XLA_AE_LINES_PKG.ValidateCurrentLine;
2618: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2619:
2620: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2621: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2614: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2615:
2616:
2617: XLA_AE_LINES_PKG.ValidateCurrentLine;
2618: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2619:
2620: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2621: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2622: ,p_balance_type_code => l_balance_type_code);
2750: --
2751: -- bulk performance
2752: --
2753: l_balance_type_code VARCHAR2(1);
2754: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2755: l_log_module VARCHAR2(240);
2756:
2757: --
2758: -- Upgrade strategy
2818: ') = 'LEASE_CREDIT'
2819: THEN
2820:
2821: --
2822: XLA_AE_LINES_PKG.SetNewLine;
2823:
2824: p_balance_type_code := l_balance_type_code;
2825: -- set the flag so later we will know whether the gain loss line needs to be created
2826:
2830:
2831: --
2832: -- bulk performance
2833: --
2834: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2835: p_header_num => 0); -- 4262811
2836: --
2837: -- set accounting line options
2838: --
2835: p_header_num => 0); -- 4262811
2836: --
2837: -- set accounting line options
2838: --
2839: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2840: p_natural_side_code => 'C'
2841: , p_gain_or_loss_flag => 'N'
2842: , p_gl_transfer_mode_code => 'S'
2843: , p_acct_entry_type_code => 'A'
2849: --
2850: --
2851: -- set accounting line type info
2852: --
2853: xla_ae_lines_pkg.SetAcctLineType
2854: (p_component_type => l_component_type
2855: ,p_event_type_code => l_event_type_code
2856: ,p_line_definition_owner_code => l_line_definition_owner_code
2857: ,p_line_definition_code => l_line_definition_code
2863: ,p_event_class_code => l_event_class_code);
2864: --
2865: -- set accounting class
2866: --
2867: xla_ae_lines_pkg.SetAcctClass(
2868: p_accounting_class_code => 'BOOKING'
2869: , p_ae_header_id => l_ae_header_id
2870: );
2871:
2871:
2872: --
2873: -- set rounding class
2874: --
2875: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2876: 'BOOKING';
2877:
2878: --
2879: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2875: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2876: 'BOOKING';
2877:
2878: --
2879: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2880: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2881: --
2882: -- bulk performance
2883: --
2876: 'BOOKING';
2877:
2878: --
2879: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2880: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2881: --
2882: -- bulk performance
2883: --
2884: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2880: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2881: --
2882: -- bulk performance
2883: --
2884: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2885:
2886: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2887: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2888:
2882: -- bulk performance
2883: --
2884: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2885:
2886: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2887: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2888:
2889: -- 4955764
2890: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2886: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2887: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2888:
2889: -- 4955764
2890: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2891: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2892:
2893: -- 4458381 Public Sector Enh
2894:
2912: l_rec_acct_attrs.array_num_value(6) := p_source_12;
2913: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
2914: l_rec_acct_attrs.array_char_value(7) := p_source_13;
2915:
2916: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2917: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2918:
2919: ---------------------------------------------------------------------------------------------------------------
2920: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2913: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
2914: l_rec_acct_attrs.array_char_value(7) := p_source_13;
2915:
2916: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2917: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2918:
2919: ---------------------------------------------------------------------------------------------------------------
2920: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2921: ---------------------------------------------------------------------------------------------------------------
2916: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2917: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2918:
2919: ---------------------------------------------------------------------------------------------------------------
2920: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2921: ---------------------------------------------------------------------------------------------------------------
2922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2923:
2924: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2918:
2919: ---------------------------------------------------------------------------------------------------------------
2920: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2921: ---------------------------------------------------------------------------------------------------------------
2922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2923:
2924: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2925: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2926:
2920: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2921: ---------------------------------------------------------------------------------------------------------------
2922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2923:
2924: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2925: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2926:
2927: IF xla_accounting_cache_pkg.GetValueChar
2928: (p_source_code => 'LEDGER_CATEGORY_CODE'
2921: ---------------------------------------------------------------------------------------------------------------
2922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2923:
2924: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2925: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2926:
2927: IF xla_accounting_cache_pkg.GetValueChar
2928: (p_source_code => 'LEDGER_CATEGORY_CODE'
2929: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2932: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2933: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2934: )
2935: THEN
2936: xla_ae_lines_pkg.BflowUpgEntry
2937: (p_business_method_code => l_bflow_method_code
2938: ,p_business_class_code => l_bflow_class_code
2939: ,p_balance_type => l_balance_type_code);
2940: ELSE
2949: --
2950: -- call description
2951: --
2952:
2953: xla_ae_lines_pkg.SetLineDescription(
2954: p_ae_header_id => l_ae_header_id
2955: ,p_description => Description_1 (
2956: p_application_id => p_application_id
2957: , p_ae_header_id => l_ae_header_id
2983: , x_value_type_code => l_adr_value_type_code
2984: , p_side => 'NA'
2985: );
2986:
2987: xla_ae_lines_pkg.set_ccid(
2988: p_code_combination_id => l_ccid
2989: , p_value_type_code => l_adr_value_type_code
2990: , p_transaction_coa_id => l_adr_transaction_coa_id
2991: , p_accounting_coa_id => l_adr_accounting_coa_id
3019: xla_accounting_err_pkg.build_message
3020: (p_appli_s_name => 'XLA'
3021: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3022: ,p_token_1 => 'LINE_NUMBER'
3023: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3024: ,p_token_2 => 'LINE_TYPE_NAME'
3025: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3026: l_component_type
3027: ,l_component_code
3055: --
3056: --
3057: ------------------------------------------------------------------------------------------------
3058: -- 4219869 Business Flow
3059: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3060: -- Prior Entry. Currently, the following code is always generated.
3061: ------------------------------------------------------------------------------------------------
3062: XLA_AE_LINES_PKG.ValidateCurrentLine;
3063:
3058: -- 4219869 Business Flow
3059: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3060: -- Prior Entry. Currently, the following code is always generated.
3061: ------------------------------------------------------------------------------------------------
3062: XLA_AE_LINES_PKG.ValidateCurrentLine;
3063:
3064: ------------------------------------------------------------------------------------
3065: -- 4219869 Business Flow
3066: -- Populated credit and debit amounts -- Need to generate this within IF
3064: ------------------------------------------------------------------------------------
3065: -- 4219869 Business Flow
3066: -- Populated credit and debit amounts -- Need to generate this within IF
3067: ------------------------------------------------------------------------------------
3068: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3069:
3070: ----------------------------------------------------------------------------------
3071: -- 4219869 Business Flow
3072: -- Update journal entry status -- Need to generate this within IF
3096: -- To allow MPA report to determine if it should generate report process
3097: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3098: ------------------------------------------------------------------------------------------
3099:
3100: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3101: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3102:
3103: --
3104: -- Update the line information that should be overwritten
3097: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3098: ------------------------------------------------------------------------------------------
3099:
3100: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3101: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3102:
3103: --
3104: -- Update the line information that should be overwritten
3105: --
3102:
3103: --
3104: -- Update the line information that should be overwritten
3105: --
3106: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3107: p_header_num => 1);
3108: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3109:
3110: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3104: -- Update the line information that should be overwritten
3105: --
3106: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3107: p_header_num => 1);
3108: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3109:
3110: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3111:
3112: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3106: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3107: p_header_num => 1);
3108: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3109:
3110: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3111:
3112: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3113: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3114: END IF;
3109:
3110: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3111:
3112: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3113: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3114: END IF;
3115:
3116: --
3117: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3116: --
3117: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3118: --
3119: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3120: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3121: ELSE
3122: ---------------------------------------------------------------------------------------------------
3123: -- 4262811a Switch Sign
3124: ---------------------------------------------------------------------------------------------------
3121: ELSE
3122: ---------------------------------------------------------------------------------------------------
3123: -- 4262811a Switch Sign
3124: ---------------------------------------------------------------------------------------------------
3125: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3122: ---------------------------------------------------------------------------------------------------
3123: -- 4262811a Switch Sign
3124: ---------------------------------------------------------------------------------------------------
3125: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3123: -- 4262811a Switch Sign
3124: ---------------------------------------------------------------------------------------------------
3125: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3131: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3124: ---------------------------------------------------------------------------------------------------
3125: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3131: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3132: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3125: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3131: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3132: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3133:
3127: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3131: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3132: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3133:
3134: END IF;
3135:
3128: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3129: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3130: -- 5132302
3131: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3132: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3133:
3134: END IF;
3135:
3136: -- 4955764
3133:
3134: END IF;
3135:
3136: -- 4955764
3137: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3138: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3139:
3140:
3141: XLA_AE_LINES_PKG.ValidateCurrentLine;
3137: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3138: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3139:
3140:
3141: XLA_AE_LINES_PKG.ValidateCurrentLine;
3142: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3143:
3144: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3145: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3138: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3139:
3140:
3141: XLA_AE_LINES_PKG.ValidateCurrentLine;
3142: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3143:
3144: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3145: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3146: ,p_balance_type_code => l_balance_type_code);
3274: --
3275: -- bulk performance
3276: --
3277: l_balance_type_code VARCHAR2(1);
3278: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3279: l_log_module VARCHAR2(240);
3280:
3281: --
3282: -- Upgrade strategy
3342: ') = 'LEASE_DEBIT'
3343: THEN
3344:
3345: --
3346: XLA_AE_LINES_PKG.SetNewLine;
3347:
3348: p_balance_type_code := l_balance_type_code;
3349: -- set the flag so later we will know whether the gain loss line needs to be created
3350:
3354:
3355: --
3356: -- bulk performance
3357: --
3358: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3359: p_header_num => 0); -- 4262811
3360: --
3361: -- set accounting line options
3362: --
3359: p_header_num => 0); -- 4262811
3360: --
3361: -- set accounting line options
3362: --
3363: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3364: p_natural_side_code => 'D'
3365: , p_gain_or_loss_flag => 'N'
3366: , p_gl_transfer_mode_code => 'S'
3367: , p_acct_entry_type_code => 'A'
3373: --
3374: --
3375: -- set accounting line type info
3376: --
3377: xla_ae_lines_pkg.SetAcctLineType
3378: (p_component_type => l_component_type
3379: ,p_event_type_code => l_event_type_code
3380: ,p_line_definition_owner_code => l_line_definition_owner_code
3381: ,p_line_definition_code => l_line_definition_code
3387: ,p_event_class_code => l_event_class_code);
3388: --
3389: -- set accounting class
3390: --
3391: xla_ae_lines_pkg.SetAcctClass(
3392: p_accounting_class_code => 'BOOKING'
3393: , p_ae_header_id => l_ae_header_id
3394: );
3395:
3395:
3396: --
3397: -- set rounding class
3398: --
3399: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3400: 'BOOKING';
3401:
3402: --
3403: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3399: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3400: 'BOOKING';
3401:
3402: --
3403: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3404: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3405: --
3406: -- bulk performance
3407: --
3400: 'BOOKING';
3401:
3402: --
3403: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3404: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3405: --
3406: -- bulk performance
3407: --
3408: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3404: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3405: --
3406: -- bulk performance
3407: --
3408: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3409:
3410: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3411: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3412:
3406: -- bulk performance
3407: --
3408: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3409:
3410: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3411: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3412:
3413: -- 4955764
3414: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3410: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3411: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3412:
3413: -- 4955764
3414: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3415: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3416:
3417: -- 4458381 Public Sector Enh
3418:
3436: l_rec_acct_attrs.array_num_value(6) := p_source_12;
3437: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
3438: l_rec_acct_attrs.array_char_value(7) := p_source_13;
3439:
3440: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3441: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3442:
3443: ---------------------------------------------------------------------------------------------------------------
3444: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3437: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
3438: l_rec_acct_attrs.array_char_value(7) := p_source_13;
3439:
3440: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3441: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3442:
3443: ---------------------------------------------------------------------------------------------------------------
3444: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3445: ---------------------------------------------------------------------------------------------------------------
3440: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3441: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3442:
3443: ---------------------------------------------------------------------------------------------------------------
3444: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3445: ---------------------------------------------------------------------------------------------------------------
3446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3447:
3448: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3442:
3443: ---------------------------------------------------------------------------------------------------------------
3444: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3445: ---------------------------------------------------------------------------------------------------------------
3446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3447:
3448: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3449: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3450:
3444: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3445: ---------------------------------------------------------------------------------------------------------------
3446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3447:
3448: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3449: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3450:
3451: IF xla_accounting_cache_pkg.GetValueChar
3452: (p_source_code => 'LEDGER_CATEGORY_CODE'
3445: ---------------------------------------------------------------------------------------------------------------
3446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3447:
3448: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3449: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3450:
3451: IF xla_accounting_cache_pkg.GetValueChar
3452: (p_source_code => 'LEDGER_CATEGORY_CODE'
3453: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3456: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3457: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3458: )
3459: THEN
3460: xla_ae_lines_pkg.BflowUpgEntry
3461: (p_business_method_code => l_bflow_method_code
3462: ,p_business_class_code => l_bflow_class_code
3463: ,p_balance_type => l_balance_type_code);
3464: ELSE
3473: --
3474: -- call description
3475: --
3476:
3477: xla_ae_lines_pkg.SetLineDescription(
3478: p_ae_header_id => l_ae_header_id
3479: ,p_description => Description_1 (
3480: p_application_id => p_application_id
3481: , p_ae_header_id => l_ae_header_id
3507: , x_value_type_code => l_adr_value_type_code
3508: , p_side => 'NA'
3509: );
3510:
3511: xla_ae_lines_pkg.set_ccid(
3512: p_code_combination_id => l_ccid
3513: , p_value_type_code => l_adr_value_type_code
3514: , p_transaction_coa_id => l_adr_transaction_coa_id
3515: , p_accounting_coa_id => l_adr_accounting_coa_id
3543: xla_accounting_err_pkg.build_message
3544: (p_appli_s_name => 'XLA'
3545: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3546: ,p_token_1 => 'LINE_NUMBER'
3547: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3548: ,p_token_2 => 'LINE_TYPE_NAME'
3549: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3550: l_component_type
3551: ,l_component_code
3579: --
3580: --
3581: ------------------------------------------------------------------------------------------------
3582: -- 4219869 Business Flow
3583: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3584: -- Prior Entry. Currently, the following code is always generated.
3585: ------------------------------------------------------------------------------------------------
3586: XLA_AE_LINES_PKG.ValidateCurrentLine;
3587:
3582: -- 4219869 Business Flow
3583: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3584: -- Prior Entry. Currently, the following code is always generated.
3585: ------------------------------------------------------------------------------------------------
3586: XLA_AE_LINES_PKG.ValidateCurrentLine;
3587:
3588: ------------------------------------------------------------------------------------
3589: -- 4219869 Business Flow
3590: -- Populated credit and debit amounts -- Need to generate this within IF
3588: ------------------------------------------------------------------------------------
3589: -- 4219869 Business Flow
3590: -- Populated credit and debit amounts -- Need to generate this within IF
3591: ------------------------------------------------------------------------------------
3592: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3593:
3594: ----------------------------------------------------------------------------------
3595: -- 4219869 Business Flow
3596: -- Update journal entry status -- Need to generate this within IF
3620: -- To allow MPA report to determine if it should generate report process
3621: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3622: ------------------------------------------------------------------------------------------
3623:
3624: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3625: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3626:
3627: --
3628: -- Update the line information that should be overwritten
3621: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3622: ------------------------------------------------------------------------------------------
3623:
3624: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3625: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3626:
3627: --
3628: -- Update the line information that should be overwritten
3629: --
3626:
3627: --
3628: -- Update the line information that should be overwritten
3629: --
3630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3631: p_header_num => 1);
3632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3633:
3634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3628: -- Update the line information that should be overwritten
3629: --
3630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3631: p_header_num => 1);
3632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3633:
3634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3635:
3636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3631: p_header_num => 1);
3632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3633:
3634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3635:
3636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3637: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3638: END IF;
3633:
3634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3635:
3636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3637: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3638: END IF;
3639:
3640: --
3641: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3640: --
3641: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3642: --
3643: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3644: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3645: ELSE
3646: ---------------------------------------------------------------------------------------------------
3647: -- 4262811a Switch Sign
3648: ---------------------------------------------------------------------------------------------------
3645: ELSE
3646: ---------------------------------------------------------------------------------------------------
3647: -- 4262811a Switch Sign
3648: ---------------------------------------------------------------------------------------------------
3649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3646: ---------------------------------------------------------------------------------------------------
3647: -- 4262811a Switch Sign
3648: ---------------------------------------------------------------------------------------------------
3649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3647: -- 4262811a Switch Sign
3648: ---------------------------------------------------------------------------------------------------
3649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3648: ---------------------------------------------------------------------------------------------------
3649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3657:
3651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3657:
3658: END IF;
3659:
3652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3654: -- 5132302
3655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3657:
3658: END IF;
3659:
3660: -- 4955764
3657:
3658: END IF;
3659:
3660: -- 4955764
3661: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3663:
3664:
3665: XLA_AE_LINES_PKG.ValidateCurrentLine;
3661: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3663:
3664:
3665: XLA_AE_LINES_PKG.ValidateCurrentLine;
3666: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3667:
3668: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3669: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3663:
3664:
3665: XLA_AE_LINES_PKG.ValidateCurrentLine;
3666: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3667:
3668: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3669: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3670: ,p_balance_type_code => l_balance_type_code);
3798: --
3799: -- bulk performance
3800: --
3801: l_balance_type_code VARCHAR2(1);
3802: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3803: l_log_module VARCHAR2(240);
3804:
3805: --
3806: -- Upgrade strategy
3866: ') = 'LEASE_CREDIT'
3867: THEN
3868:
3869: --
3870: XLA_AE_LINES_PKG.SetNewLine;
3871:
3872: p_balance_type_code := l_balance_type_code;
3873: -- set the flag so later we will know whether the gain loss line needs to be created
3874:
3878:
3879: --
3880: -- bulk performance
3881: --
3882: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3883: p_header_num => 0); -- 4262811
3884: --
3885: -- set accounting line options
3886: --
3883: p_header_num => 0); -- 4262811
3884: --
3885: -- set accounting line options
3886: --
3887: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3888: p_natural_side_code => 'C'
3889: , p_gain_or_loss_flag => 'N'
3890: , p_gl_transfer_mode_code => 'S'
3891: , p_acct_entry_type_code => 'A'
3897: --
3898: --
3899: -- set accounting line type info
3900: --
3901: xla_ae_lines_pkg.SetAcctLineType
3902: (p_component_type => l_component_type
3903: ,p_event_type_code => l_event_type_code
3904: ,p_line_definition_owner_code => l_line_definition_owner_code
3905: ,p_line_definition_code => l_line_definition_code
3911: ,p_event_class_code => l_event_class_code);
3912: --
3913: -- set accounting class
3914: --
3915: xla_ae_lines_pkg.SetAcctClass(
3916: p_accounting_class_code => 'EVERGREEN'
3917: , p_ae_header_id => l_ae_header_id
3918: );
3919:
3919:
3920: --
3921: -- set rounding class
3922: --
3923: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3924: 'EVERGREEN';
3925:
3926: --
3927: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3923: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3924: 'EVERGREEN';
3925:
3926: --
3927: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3928: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3929: --
3930: -- bulk performance
3931: --
3924: 'EVERGREEN';
3925:
3926: --
3927: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3928: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3929: --
3930: -- bulk performance
3931: --
3932: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3928: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3929: --
3930: -- bulk performance
3931: --
3932: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3933:
3934: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3935: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3936:
3930: -- bulk performance
3931: --
3932: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3933:
3934: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3935: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3936:
3937: -- 4955764
3938: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3934: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3935: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3936:
3937: -- 4955764
3938: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3939: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3940:
3941: -- 4458381 Public Sector Enh
3942:
3960: l_rec_acct_attrs.array_num_value(6) := p_source_12;
3961: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
3962: l_rec_acct_attrs.array_char_value(7) := p_source_13;
3963:
3964: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3965: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3966:
3967: ---------------------------------------------------------------------------------------------------------------
3968: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3961: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
3962: l_rec_acct_attrs.array_char_value(7) := p_source_13;
3963:
3964: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3965: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3966:
3967: ---------------------------------------------------------------------------------------------------------------
3968: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3969: ---------------------------------------------------------------------------------------------------------------
3964: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3965: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3966:
3967: ---------------------------------------------------------------------------------------------------------------
3968: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3969: ---------------------------------------------------------------------------------------------------------------
3970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3971:
3972: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3966:
3967: ---------------------------------------------------------------------------------------------------------------
3968: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3969: ---------------------------------------------------------------------------------------------------------------
3970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3971:
3972: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3973: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3974:
3968: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3969: ---------------------------------------------------------------------------------------------------------------
3970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3971:
3972: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3973: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3974:
3975: IF xla_accounting_cache_pkg.GetValueChar
3976: (p_source_code => 'LEDGER_CATEGORY_CODE'
3969: ---------------------------------------------------------------------------------------------------------------
3970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3971:
3972: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3973: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3974:
3975: IF xla_accounting_cache_pkg.GetValueChar
3976: (p_source_code => 'LEDGER_CATEGORY_CODE'
3977: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3980: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3981: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3982: )
3983: THEN
3984: xla_ae_lines_pkg.BflowUpgEntry
3985: (p_business_method_code => l_bflow_method_code
3986: ,p_business_class_code => l_bflow_class_code
3987: ,p_balance_type => l_balance_type_code);
3988: ELSE
3997: --
3998: -- call description
3999: --
4000:
4001: xla_ae_lines_pkg.SetLineDescription(
4002: p_ae_header_id => l_ae_header_id
4003: ,p_description => Description_1 (
4004: p_application_id => p_application_id
4005: , p_ae_header_id => l_ae_header_id
4031: , x_value_type_code => l_adr_value_type_code
4032: , p_side => 'NA'
4033: );
4034:
4035: xla_ae_lines_pkg.set_ccid(
4036: p_code_combination_id => l_ccid
4037: , p_value_type_code => l_adr_value_type_code
4038: , p_transaction_coa_id => l_adr_transaction_coa_id
4039: , p_accounting_coa_id => l_adr_accounting_coa_id
4067: xla_accounting_err_pkg.build_message
4068: (p_appli_s_name => 'XLA'
4069: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4070: ,p_token_1 => 'LINE_NUMBER'
4071: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4072: ,p_token_2 => 'LINE_TYPE_NAME'
4073: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4074: l_component_type
4075: ,l_component_code
4103: --
4104: --
4105: ------------------------------------------------------------------------------------------------
4106: -- 4219869 Business Flow
4107: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4108: -- Prior Entry. Currently, the following code is always generated.
4109: ------------------------------------------------------------------------------------------------
4110: XLA_AE_LINES_PKG.ValidateCurrentLine;
4111:
4106: -- 4219869 Business Flow
4107: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4108: -- Prior Entry. Currently, the following code is always generated.
4109: ------------------------------------------------------------------------------------------------
4110: XLA_AE_LINES_PKG.ValidateCurrentLine;
4111:
4112: ------------------------------------------------------------------------------------
4113: -- 4219869 Business Flow
4114: -- Populated credit and debit amounts -- Need to generate this within IF
4112: ------------------------------------------------------------------------------------
4113: -- 4219869 Business Flow
4114: -- Populated credit and debit amounts -- Need to generate this within IF
4115: ------------------------------------------------------------------------------------
4116: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4117:
4118: ----------------------------------------------------------------------------------
4119: -- 4219869 Business Flow
4120: -- Update journal entry status -- Need to generate this within IF
4144: -- To allow MPA report to determine if it should generate report process
4145: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4146: ------------------------------------------------------------------------------------------
4147:
4148: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4149: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4150:
4151: --
4152: -- Update the line information that should be overwritten
4145: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4146: ------------------------------------------------------------------------------------------
4147:
4148: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4149: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4150:
4151: --
4152: -- Update the line information that should be overwritten
4153: --
4150:
4151: --
4152: -- Update the line information that should be overwritten
4153: --
4154: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4155: p_header_num => 1);
4156: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4157:
4158: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4152: -- Update the line information that should be overwritten
4153: --
4154: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4155: p_header_num => 1);
4156: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4157:
4158: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4159:
4160: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4154: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4155: p_header_num => 1);
4156: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4157:
4158: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4159:
4160: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4161: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4162: END IF;
4157:
4158: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4159:
4160: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4161: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4162: END IF;
4163:
4164: --
4165: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4164: --
4165: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4166: --
4167: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4168: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4169: ELSE
4170: ---------------------------------------------------------------------------------------------------
4171: -- 4262811a Switch Sign
4172: ---------------------------------------------------------------------------------------------------
4169: ELSE
4170: ---------------------------------------------------------------------------------------------------
4171: -- 4262811a Switch Sign
4172: ---------------------------------------------------------------------------------------------------
4173: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4170: ---------------------------------------------------------------------------------------------------
4171: -- 4262811a Switch Sign
4172: ---------------------------------------------------------------------------------------------------
4173: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4171: -- 4262811a Switch Sign
4172: ---------------------------------------------------------------------------------------------------
4173: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4179: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4172: ---------------------------------------------------------------------------------------------------
4173: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4179: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4173: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4179: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181:
4175: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4179: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181:
4182: END IF;
4183:
4176: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4177: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4178: -- 5132302
4179: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181:
4182: END IF;
4183:
4184: -- 4955764
4181:
4182: END IF;
4183:
4184: -- 4955764
4185: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4186: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4187:
4188:
4189: XLA_AE_LINES_PKG.ValidateCurrentLine;
4185: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4186: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4187:
4188:
4189: XLA_AE_LINES_PKG.ValidateCurrentLine;
4190: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4191:
4192: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4193: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4186: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4187:
4188:
4189: XLA_AE_LINES_PKG.ValidateCurrentLine;
4190: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4191:
4192: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4193: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4194: ,p_balance_type_code => l_balance_type_code);
4322: --
4323: -- bulk performance
4324: --
4325: l_balance_type_code VARCHAR2(1);
4326: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4327: l_log_module VARCHAR2(240);
4328:
4329: --
4330: -- Upgrade strategy
4390: ') = 'LEASE_DEBIT'
4391: THEN
4392:
4393: --
4394: XLA_AE_LINES_PKG.SetNewLine;
4395:
4396: p_balance_type_code := l_balance_type_code;
4397: -- set the flag so later we will know whether the gain loss line needs to be created
4398:
4402:
4403: --
4404: -- bulk performance
4405: --
4406: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4407: p_header_num => 0); -- 4262811
4408: --
4409: -- set accounting line options
4410: --
4407: p_header_num => 0); -- 4262811
4408: --
4409: -- set accounting line options
4410: --
4411: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4412: p_natural_side_code => 'D'
4413: , p_gain_or_loss_flag => 'N'
4414: , p_gl_transfer_mode_code => 'S'
4415: , p_acct_entry_type_code => 'A'
4421: --
4422: --
4423: -- set accounting line type info
4424: --
4425: xla_ae_lines_pkg.SetAcctLineType
4426: (p_component_type => l_component_type
4427: ,p_event_type_code => l_event_type_code
4428: ,p_line_definition_owner_code => l_line_definition_owner_code
4429: ,p_line_definition_code => l_line_definition_code
4435: ,p_event_class_code => l_event_class_code);
4436: --
4437: -- set accounting class
4438: --
4439: xla_ae_lines_pkg.SetAcctClass(
4440: p_accounting_class_code => 'EVERGREEN'
4441: , p_ae_header_id => l_ae_header_id
4442: );
4443:
4443:
4444: --
4445: -- set rounding class
4446: --
4447: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4448: 'EVERGREEN';
4449:
4450: --
4451: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4447: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4448: 'EVERGREEN';
4449:
4450: --
4451: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4452: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4453: --
4454: -- bulk performance
4455: --
4448: 'EVERGREEN';
4449:
4450: --
4451: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4452: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4453: --
4454: -- bulk performance
4455: --
4456: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4452: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4453: --
4454: -- bulk performance
4455: --
4456: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4457:
4458: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4459: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4460:
4454: -- bulk performance
4455: --
4456: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4457:
4458: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4459: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4460:
4461: -- 4955764
4462: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4458: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4459: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4460:
4461: -- 4955764
4462: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4463: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4464:
4465: -- 4458381 Public Sector Enh
4466:
4484: l_rec_acct_attrs.array_num_value(6) := p_source_12;
4485: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
4486: l_rec_acct_attrs.array_char_value(7) := p_source_13;
4487:
4488: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4489: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4490:
4491: ---------------------------------------------------------------------------------------------------------------
4492: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4485: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
4486: l_rec_acct_attrs.array_char_value(7) := p_source_13;
4487:
4488: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4489: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4490:
4491: ---------------------------------------------------------------------------------------------------------------
4492: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4493: ---------------------------------------------------------------------------------------------------------------
4488: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4489: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4490:
4491: ---------------------------------------------------------------------------------------------------------------
4492: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4493: ---------------------------------------------------------------------------------------------------------------
4494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4495:
4496: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4490:
4491: ---------------------------------------------------------------------------------------------------------------
4492: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4493: ---------------------------------------------------------------------------------------------------------------
4494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4495:
4496: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4497: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4498:
4492: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4493: ---------------------------------------------------------------------------------------------------------------
4494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4495:
4496: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4497: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4498:
4499: IF xla_accounting_cache_pkg.GetValueChar
4500: (p_source_code => 'LEDGER_CATEGORY_CODE'
4493: ---------------------------------------------------------------------------------------------------------------
4494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4495:
4496: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4497: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4498:
4499: IF xla_accounting_cache_pkg.GetValueChar
4500: (p_source_code => 'LEDGER_CATEGORY_CODE'
4501: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4504: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4505: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4506: )
4507: THEN
4508: xla_ae_lines_pkg.BflowUpgEntry
4509: (p_business_method_code => l_bflow_method_code
4510: ,p_business_class_code => l_bflow_class_code
4511: ,p_balance_type => l_balance_type_code);
4512: ELSE
4521: --
4522: -- call description
4523: --
4524:
4525: xla_ae_lines_pkg.SetLineDescription(
4526: p_ae_header_id => l_ae_header_id
4527: ,p_description => Description_1 (
4528: p_application_id => p_application_id
4529: , p_ae_header_id => l_ae_header_id
4555: , x_value_type_code => l_adr_value_type_code
4556: , p_side => 'NA'
4557: );
4558:
4559: xla_ae_lines_pkg.set_ccid(
4560: p_code_combination_id => l_ccid
4561: , p_value_type_code => l_adr_value_type_code
4562: , p_transaction_coa_id => l_adr_transaction_coa_id
4563: , p_accounting_coa_id => l_adr_accounting_coa_id
4591: xla_accounting_err_pkg.build_message
4592: (p_appli_s_name => 'XLA'
4593: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4594: ,p_token_1 => 'LINE_NUMBER'
4595: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4596: ,p_token_2 => 'LINE_TYPE_NAME'
4597: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4598: l_component_type
4599: ,l_component_code
4627: --
4628: --
4629: ------------------------------------------------------------------------------------------------
4630: -- 4219869 Business Flow
4631: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4632: -- Prior Entry. Currently, the following code is always generated.
4633: ------------------------------------------------------------------------------------------------
4634: XLA_AE_LINES_PKG.ValidateCurrentLine;
4635:
4630: -- 4219869 Business Flow
4631: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4632: -- Prior Entry. Currently, the following code is always generated.
4633: ------------------------------------------------------------------------------------------------
4634: XLA_AE_LINES_PKG.ValidateCurrentLine;
4635:
4636: ------------------------------------------------------------------------------------
4637: -- 4219869 Business Flow
4638: -- Populated credit and debit amounts -- Need to generate this within IF
4636: ------------------------------------------------------------------------------------
4637: -- 4219869 Business Flow
4638: -- Populated credit and debit amounts -- Need to generate this within IF
4639: ------------------------------------------------------------------------------------
4640: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4641:
4642: ----------------------------------------------------------------------------------
4643: -- 4219869 Business Flow
4644: -- Update journal entry status -- Need to generate this within IF
4668: -- To allow MPA report to determine if it should generate report process
4669: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4670: ------------------------------------------------------------------------------------------
4671:
4672: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4673: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4674:
4675: --
4676: -- Update the line information that should be overwritten
4669: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4670: ------------------------------------------------------------------------------------------
4671:
4672: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4673: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4674:
4675: --
4676: -- Update the line information that should be overwritten
4677: --
4674:
4675: --
4676: -- Update the line information that should be overwritten
4677: --
4678: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4679: p_header_num => 1);
4680: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4681:
4682: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4676: -- Update the line information that should be overwritten
4677: --
4678: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4679: p_header_num => 1);
4680: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4681:
4682: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4683:
4684: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4678: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4679: p_header_num => 1);
4680: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4681:
4682: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4683:
4684: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4685: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4686: END IF;
4681:
4682: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4683:
4684: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4685: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4686: END IF;
4687:
4688: --
4689: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4688: --
4689: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4690: --
4691: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4692: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4693: ELSE
4694: ---------------------------------------------------------------------------------------------------
4695: -- 4262811a Switch Sign
4696: ---------------------------------------------------------------------------------------------------
4693: ELSE
4694: ---------------------------------------------------------------------------------------------------
4695: -- 4262811a Switch Sign
4696: ---------------------------------------------------------------------------------------------------
4697: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4694: ---------------------------------------------------------------------------------------------------
4695: -- 4262811a Switch Sign
4696: ---------------------------------------------------------------------------------------------------
4697: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4695: -- 4262811a Switch Sign
4696: ---------------------------------------------------------------------------------------------------
4697: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4703: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4696: ---------------------------------------------------------------------------------------------------
4697: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4703: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4704: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4697: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4703: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4704: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4705:
4699: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4703: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4704: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4705:
4706: END IF;
4707:
4700: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4701: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4702: -- 5132302
4703: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4704: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4705:
4706: END IF;
4707:
4708: -- 4955764
4705:
4706: END IF;
4707:
4708: -- 4955764
4709: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4710: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4711:
4712:
4713: XLA_AE_LINES_PKG.ValidateCurrentLine;
4709: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4710: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4711:
4712:
4713: XLA_AE_LINES_PKG.ValidateCurrentLine;
4714: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4715:
4716: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4717: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4710: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4711:
4712:
4713: XLA_AE_LINES_PKG.ValidateCurrentLine;
4714: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4715:
4716: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4717: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4718: ,p_balance_type_code => l_balance_type_code);
4846: --
4847: -- bulk performance
4848: --
4849: l_balance_type_code VARCHAR2(1);
4850: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4851: l_log_module VARCHAR2(240);
4852:
4853: --
4854: -- Upgrade strategy
4914: ') = 'LEASE_CREDIT'
4915: THEN
4916:
4917: --
4918: XLA_AE_LINES_PKG.SetNewLine;
4919:
4920: p_balance_type_code := l_balance_type_code;
4921: -- set the flag so later we will know whether the gain loss line needs to be created
4922:
4926:
4927: --
4928: -- bulk performance
4929: --
4930: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4931: p_header_num => 0); -- 4262811
4932: --
4933: -- set accounting line options
4934: --
4931: p_header_num => 0); -- 4262811
4932: --
4933: -- set accounting line options
4934: --
4935: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4936: p_natural_side_code => 'C'
4937: , p_gain_or_loss_flag => 'N'
4938: , p_gl_transfer_mode_code => 'S'
4939: , p_acct_entry_type_code => 'A'
4945: --
4946: --
4947: -- set accounting line type info
4948: --
4949: xla_ae_lines_pkg.SetAcctLineType
4950: (p_component_type => l_component_type
4951: ,p_event_type_code => l_event_type_code
4952: ,p_line_definition_owner_code => l_line_definition_owner_code
4953: ,p_line_definition_code => l_line_definition_code
4959: ,p_event_class_code => l_event_class_code);
4960: --
4961: -- set accounting class
4962: --
4963: xla_ae_lines_pkg.SetAcctClass(
4964: p_accounting_class_code => 'GENERAL_LOSS_PROVISION'
4965: , p_ae_header_id => l_ae_header_id
4966: );
4967:
4967:
4968: --
4969: -- set rounding class
4970: --
4971: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4972: 'GENERAL_LOSS_PROVISION';
4973:
4974: --
4975: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4971: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4972: 'GENERAL_LOSS_PROVISION';
4973:
4974: --
4975: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4976: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4977: --
4978: -- bulk performance
4979: --
4972: 'GENERAL_LOSS_PROVISION';
4973:
4974: --
4975: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4976: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4977: --
4978: -- bulk performance
4979: --
4980: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4976: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4977: --
4978: -- bulk performance
4979: --
4980: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4981:
4982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4983: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4984:
4978: -- bulk performance
4979: --
4980: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4981:
4982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4983: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4984:
4985: -- 4955764
4986: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4983: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4984:
4985: -- 4955764
4986: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4987: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4988:
4989: -- 4458381 Public Sector Enh
4990:
5008: l_rec_acct_attrs.array_num_value(6) := p_source_12;
5009: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
5010: l_rec_acct_attrs.array_char_value(7) := p_source_13;
5011:
5012: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5013: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5014:
5015: ---------------------------------------------------------------------------------------------------------------
5016: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5009: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
5010: l_rec_acct_attrs.array_char_value(7) := p_source_13;
5011:
5012: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5013: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5014:
5015: ---------------------------------------------------------------------------------------------------------------
5016: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5017: ---------------------------------------------------------------------------------------------------------------
5012: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5013: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5014:
5015: ---------------------------------------------------------------------------------------------------------------
5016: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5017: ---------------------------------------------------------------------------------------------------------------
5018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5019:
5020: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5014:
5015: ---------------------------------------------------------------------------------------------------------------
5016: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5017: ---------------------------------------------------------------------------------------------------------------
5018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5019:
5020: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5021: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5022:
5016: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5017: ---------------------------------------------------------------------------------------------------------------
5018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5019:
5020: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5021: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5022:
5023: IF xla_accounting_cache_pkg.GetValueChar
5024: (p_source_code => 'LEDGER_CATEGORY_CODE'
5017: ---------------------------------------------------------------------------------------------------------------
5018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5019:
5020: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5021: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5022:
5023: IF xla_accounting_cache_pkg.GetValueChar
5024: (p_source_code => 'LEDGER_CATEGORY_CODE'
5025: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5028: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5029: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5030: )
5031: THEN
5032: xla_ae_lines_pkg.BflowUpgEntry
5033: (p_business_method_code => l_bflow_method_code
5034: ,p_business_class_code => l_bflow_class_code
5035: ,p_balance_type => l_balance_type_code);
5036: ELSE
5045: --
5046: -- call description
5047: --
5048:
5049: xla_ae_lines_pkg.SetLineDescription(
5050: p_ae_header_id => l_ae_header_id
5051: ,p_description => Description_1 (
5052: p_application_id => p_application_id
5053: , p_ae_header_id => l_ae_header_id
5079: , x_value_type_code => l_adr_value_type_code
5080: , p_side => 'NA'
5081: );
5082:
5083: xla_ae_lines_pkg.set_ccid(
5084: p_code_combination_id => l_ccid
5085: , p_value_type_code => l_adr_value_type_code
5086: , p_transaction_coa_id => l_adr_transaction_coa_id
5087: , p_accounting_coa_id => l_adr_accounting_coa_id
5115: xla_accounting_err_pkg.build_message
5116: (p_appli_s_name => 'XLA'
5117: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5118: ,p_token_1 => 'LINE_NUMBER'
5119: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5120: ,p_token_2 => 'LINE_TYPE_NAME'
5121: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5122: l_component_type
5123: ,l_component_code
5151: --
5152: --
5153: ------------------------------------------------------------------------------------------------
5154: -- 4219869 Business Flow
5155: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5156: -- Prior Entry. Currently, the following code is always generated.
5157: ------------------------------------------------------------------------------------------------
5158: XLA_AE_LINES_PKG.ValidateCurrentLine;
5159:
5154: -- 4219869 Business Flow
5155: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5156: -- Prior Entry. Currently, the following code is always generated.
5157: ------------------------------------------------------------------------------------------------
5158: XLA_AE_LINES_PKG.ValidateCurrentLine;
5159:
5160: ------------------------------------------------------------------------------------
5161: -- 4219869 Business Flow
5162: -- Populated credit and debit amounts -- Need to generate this within IF
5160: ------------------------------------------------------------------------------------
5161: -- 4219869 Business Flow
5162: -- Populated credit and debit amounts -- Need to generate this within IF
5163: ------------------------------------------------------------------------------------
5164: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5165:
5166: ----------------------------------------------------------------------------------
5167: -- 4219869 Business Flow
5168: -- Update journal entry status -- Need to generate this within IF
5192: -- To allow MPA report to determine if it should generate report process
5193: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5194: ------------------------------------------------------------------------------------------
5195:
5196: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5197: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5198:
5199: --
5200: -- Update the line information that should be overwritten
5193: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5194: ------------------------------------------------------------------------------------------
5195:
5196: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5197: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5198:
5199: --
5200: -- Update the line information that should be overwritten
5201: --
5198:
5199: --
5200: -- Update the line information that should be overwritten
5201: --
5202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5203: p_header_num => 1);
5204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5205:
5206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5200: -- Update the line information that should be overwritten
5201: --
5202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5203: p_header_num => 1);
5204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5205:
5206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5207:
5208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5203: p_header_num => 1);
5204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5205:
5206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5207:
5208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5209: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5210: END IF;
5205:
5206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5207:
5208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5209: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5210: END IF;
5211:
5212: --
5213: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5212: --
5213: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5214: --
5215: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5216: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5217: ELSE
5218: ---------------------------------------------------------------------------------------------------
5219: -- 4262811a Switch Sign
5220: ---------------------------------------------------------------------------------------------------
5217: ELSE
5218: ---------------------------------------------------------------------------------------------------
5219: -- 4262811a Switch Sign
5220: ---------------------------------------------------------------------------------------------------
5221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5218: ---------------------------------------------------------------------------------------------------
5219: -- 4262811a Switch Sign
5220: ---------------------------------------------------------------------------------------------------
5221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5219: -- 4262811a Switch Sign
5220: ---------------------------------------------------------------------------------------------------
5221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5220: ---------------------------------------------------------------------------------------------------
5221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5229:
5223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5229:
5230: END IF;
5231:
5224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5226: -- 5132302
5227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5229:
5230: END IF;
5231:
5232: -- 4955764
5229:
5230: END IF;
5231:
5232: -- 4955764
5233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5235:
5236:
5237: XLA_AE_LINES_PKG.ValidateCurrentLine;
5233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5235:
5236:
5237: XLA_AE_LINES_PKG.ValidateCurrentLine;
5238: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5239:
5240: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5241: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5235:
5236:
5237: XLA_AE_LINES_PKG.ValidateCurrentLine;
5238: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5239:
5240: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5241: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5242: ,p_balance_type_code => l_balance_type_code);
5370: --
5371: -- bulk performance
5372: --
5373: l_balance_type_code VARCHAR2(1);
5374: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5375: l_log_module VARCHAR2(240);
5376:
5377: --
5378: -- Upgrade strategy
5438: ') = 'LEASE_DEBIT'
5439: THEN
5440:
5441: --
5442: XLA_AE_LINES_PKG.SetNewLine;
5443:
5444: p_balance_type_code := l_balance_type_code;
5445: -- set the flag so later we will know whether the gain loss line needs to be created
5446:
5450:
5451: --
5452: -- bulk performance
5453: --
5454: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5455: p_header_num => 0); -- 4262811
5456: --
5457: -- set accounting line options
5458: --
5455: p_header_num => 0); -- 4262811
5456: --
5457: -- set accounting line options
5458: --
5459: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5460: p_natural_side_code => 'D'
5461: , p_gain_or_loss_flag => 'N'
5462: , p_gl_transfer_mode_code => 'S'
5463: , p_acct_entry_type_code => 'A'
5469: --
5470: --
5471: -- set accounting line type info
5472: --
5473: xla_ae_lines_pkg.SetAcctLineType
5474: (p_component_type => l_component_type
5475: ,p_event_type_code => l_event_type_code
5476: ,p_line_definition_owner_code => l_line_definition_owner_code
5477: ,p_line_definition_code => l_line_definition_code
5483: ,p_event_class_code => l_event_class_code);
5484: --
5485: -- set accounting class
5486: --
5487: xla_ae_lines_pkg.SetAcctClass(
5488: p_accounting_class_code => 'GENERAL_LOSS_PROVISION'
5489: , p_ae_header_id => l_ae_header_id
5490: );
5491:
5491:
5492: --
5493: -- set rounding class
5494: --
5495: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5496: 'GENERAL_LOSS_PROVISION';
5497:
5498: --
5499: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5495: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5496: 'GENERAL_LOSS_PROVISION';
5497:
5498: --
5499: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5500: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5501: --
5502: -- bulk performance
5503: --
5496: 'GENERAL_LOSS_PROVISION';
5497:
5498: --
5499: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5500: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5501: --
5502: -- bulk performance
5503: --
5504: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5500: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5501: --
5502: -- bulk performance
5503: --
5504: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5505:
5506: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5507: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5508:
5502: -- bulk performance
5503: --
5504: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5505:
5506: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5507: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5508:
5509: -- 4955764
5510: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5506: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5507: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5508:
5509: -- 4955764
5510: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5512:
5513: -- 4458381 Public Sector Enh
5514:
5532: l_rec_acct_attrs.array_num_value(6) := p_source_12;
5533: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
5534: l_rec_acct_attrs.array_char_value(7) := p_source_13;
5535:
5536: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5537: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5538:
5539: ---------------------------------------------------------------------------------------------------------------
5540: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5533: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
5534: l_rec_acct_attrs.array_char_value(7) := p_source_13;
5535:
5536: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5537: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5538:
5539: ---------------------------------------------------------------------------------------------------------------
5540: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5541: ---------------------------------------------------------------------------------------------------------------
5536: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5537: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5538:
5539: ---------------------------------------------------------------------------------------------------------------
5540: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5541: ---------------------------------------------------------------------------------------------------------------
5542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5543:
5544: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5538:
5539: ---------------------------------------------------------------------------------------------------------------
5540: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5541: ---------------------------------------------------------------------------------------------------------------
5542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5543:
5544: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5545: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5546:
5540: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5541: ---------------------------------------------------------------------------------------------------------------
5542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5543:
5544: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5545: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5546:
5547: IF xla_accounting_cache_pkg.GetValueChar
5548: (p_source_code => 'LEDGER_CATEGORY_CODE'
5541: ---------------------------------------------------------------------------------------------------------------
5542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5543:
5544: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5545: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5546:
5547: IF xla_accounting_cache_pkg.GetValueChar
5548: (p_source_code => 'LEDGER_CATEGORY_CODE'
5549: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5552: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5553: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5554: )
5555: THEN
5556: xla_ae_lines_pkg.BflowUpgEntry
5557: (p_business_method_code => l_bflow_method_code
5558: ,p_business_class_code => l_bflow_class_code
5559: ,p_balance_type => l_balance_type_code);
5560: ELSE
5569: --
5570: -- call description
5571: --
5572:
5573: xla_ae_lines_pkg.SetLineDescription(
5574: p_ae_header_id => l_ae_header_id
5575: ,p_description => Description_1 (
5576: p_application_id => p_application_id
5577: , p_ae_header_id => l_ae_header_id
5603: , x_value_type_code => l_adr_value_type_code
5604: , p_side => 'NA'
5605: );
5606:
5607: xla_ae_lines_pkg.set_ccid(
5608: p_code_combination_id => l_ccid
5609: , p_value_type_code => l_adr_value_type_code
5610: , p_transaction_coa_id => l_adr_transaction_coa_id
5611: , p_accounting_coa_id => l_adr_accounting_coa_id
5639: xla_accounting_err_pkg.build_message
5640: (p_appli_s_name => 'XLA'
5641: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5642: ,p_token_1 => 'LINE_NUMBER'
5643: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5644: ,p_token_2 => 'LINE_TYPE_NAME'
5645: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5646: l_component_type
5647: ,l_component_code
5675: --
5676: --
5677: ------------------------------------------------------------------------------------------------
5678: -- 4219869 Business Flow
5679: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5680: -- Prior Entry. Currently, the following code is always generated.
5681: ------------------------------------------------------------------------------------------------
5682: XLA_AE_LINES_PKG.ValidateCurrentLine;
5683:
5678: -- 4219869 Business Flow
5679: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5680: -- Prior Entry. Currently, the following code is always generated.
5681: ------------------------------------------------------------------------------------------------
5682: XLA_AE_LINES_PKG.ValidateCurrentLine;
5683:
5684: ------------------------------------------------------------------------------------
5685: -- 4219869 Business Flow
5686: -- Populated credit and debit amounts -- Need to generate this within IF
5684: ------------------------------------------------------------------------------------
5685: -- 4219869 Business Flow
5686: -- Populated credit and debit amounts -- Need to generate this within IF
5687: ------------------------------------------------------------------------------------
5688: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5689:
5690: ----------------------------------------------------------------------------------
5691: -- 4219869 Business Flow
5692: -- Update journal entry status -- Need to generate this within IF
5716: -- To allow MPA report to determine if it should generate report process
5717: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5718: ------------------------------------------------------------------------------------------
5719:
5720: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5721: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5722:
5723: --
5724: -- Update the line information that should be overwritten
5717: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5718: ------------------------------------------------------------------------------------------
5719:
5720: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5721: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5722:
5723: --
5724: -- Update the line information that should be overwritten
5725: --
5722:
5723: --
5724: -- Update the line information that should be overwritten
5725: --
5726: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5727: p_header_num => 1);
5728: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5729:
5730: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5724: -- Update the line information that should be overwritten
5725: --
5726: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5727: p_header_num => 1);
5728: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5729:
5730: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5731:
5732: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5726: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5727: p_header_num => 1);
5728: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5729:
5730: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5731:
5732: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5733: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5734: END IF;
5729:
5730: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5731:
5732: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5733: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5734: END IF;
5735:
5736: --
5737: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5736: --
5737: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5738: --
5739: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5740: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5741: ELSE
5742: ---------------------------------------------------------------------------------------------------
5743: -- 4262811a Switch Sign
5744: ---------------------------------------------------------------------------------------------------
5741: ELSE
5742: ---------------------------------------------------------------------------------------------------
5743: -- 4262811a Switch Sign
5744: ---------------------------------------------------------------------------------------------------
5745: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5742: ---------------------------------------------------------------------------------------------------
5743: -- 4262811a Switch Sign
5744: ---------------------------------------------------------------------------------------------------
5745: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5743: -- 4262811a Switch Sign
5744: ---------------------------------------------------------------------------------------------------
5745: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5751: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5744: ---------------------------------------------------------------------------------------------------
5745: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5751: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5752: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5745: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5751: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5752: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5753:
5747: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5751: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5752: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5753:
5754: END IF;
5755:
5748: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5749: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5750: -- 5132302
5751: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5752: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5753:
5754: END IF;
5755:
5756: -- 4955764
5753:
5754: END IF;
5755:
5756: -- 4955764
5757: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5758: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5759:
5760:
5761: XLA_AE_LINES_PKG.ValidateCurrentLine;
5757: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5758: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5759:
5760:
5761: XLA_AE_LINES_PKG.ValidateCurrentLine;
5762: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5763:
5764: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5765: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5758: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5759:
5760:
5761: XLA_AE_LINES_PKG.ValidateCurrentLine;
5762: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5763:
5764: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5765: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5766: ,p_balance_type_code => l_balance_type_code);
5894: --
5895: -- bulk performance
5896: --
5897: l_balance_type_code VARCHAR2(1);
5898: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5899: l_log_module VARCHAR2(240);
5900:
5901: --
5902: -- Upgrade strategy
5962: ') = 'LEASE_CREDIT'
5963: THEN
5964:
5965: --
5966: XLA_AE_LINES_PKG.SetNewLine;
5967:
5968: p_balance_type_code := l_balance_type_code;
5969: -- set the flag so later we will know whether the gain loss line needs to be created
5970:
5974:
5975: --
5976: -- bulk performance
5977: --
5978: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5979: p_header_num => 0); -- 4262811
5980: --
5981: -- set accounting line options
5982: --
5979: p_header_num => 0); -- 4262811
5980: --
5981: -- set accounting line options
5982: --
5983: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5984: p_natural_side_code => 'C'
5985: , p_gain_or_loss_flag => 'N'
5986: , p_gl_transfer_mode_code => 'S'
5987: , p_acct_entry_type_code => 'A'
5993: --
5994: --
5995: -- set accounting line type info
5996: --
5997: xla_ae_lines_pkg.SetAcctLineType
5998: (p_component_type => l_component_type
5999: ,p_event_type_code => l_event_type_code
6000: ,p_line_definition_owner_code => l_line_definition_owner_code
6001: ,p_line_definition_code => l_line_definition_code
6007: ,p_event_class_code => l_event_class_code);
6008: --
6009: -- set accounting class
6010: --
6011: xla_ae_lines_pkg.SetAcctClass(
6012: p_accounting_class_code => 'INVESTOR'
6013: , p_ae_header_id => l_ae_header_id
6014: );
6015:
6015:
6016: --
6017: -- set rounding class
6018: --
6019: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6020: 'INVESTOR';
6021:
6022: --
6023: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6019: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6020: 'INVESTOR';
6021:
6022: --
6023: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6024: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6025: --
6026: -- bulk performance
6027: --
6020: 'INVESTOR';
6021:
6022: --
6023: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6024: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6025: --
6026: -- bulk performance
6027: --
6028: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6024: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6025: --
6026: -- bulk performance
6027: --
6028: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6029:
6030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6031: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6032:
6026: -- bulk performance
6027: --
6028: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6029:
6030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6031: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6032:
6033: -- 4955764
6034: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6030: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6031: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6032:
6033: -- 4955764
6034: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6035: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6036:
6037: -- 4458381 Public Sector Enh
6038:
6056: l_rec_acct_attrs.array_num_value(6) := p_source_12;
6057: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
6058: l_rec_acct_attrs.array_char_value(7) := p_source_13;
6059:
6060: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6061: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6062:
6063: ---------------------------------------------------------------------------------------------------------------
6064: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6057: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
6058: l_rec_acct_attrs.array_char_value(7) := p_source_13;
6059:
6060: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6061: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6062:
6063: ---------------------------------------------------------------------------------------------------------------
6064: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6065: ---------------------------------------------------------------------------------------------------------------
6060: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6061: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6062:
6063: ---------------------------------------------------------------------------------------------------------------
6064: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6065: ---------------------------------------------------------------------------------------------------------------
6066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6067:
6068: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6062:
6063: ---------------------------------------------------------------------------------------------------------------
6064: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6065: ---------------------------------------------------------------------------------------------------------------
6066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6067:
6068: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6069: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6070:
6064: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6065: ---------------------------------------------------------------------------------------------------------------
6066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6067:
6068: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6069: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6070:
6071: IF xla_accounting_cache_pkg.GetValueChar
6072: (p_source_code => 'LEDGER_CATEGORY_CODE'
6065: ---------------------------------------------------------------------------------------------------------------
6066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6067:
6068: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6069: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6070:
6071: IF xla_accounting_cache_pkg.GetValueChar
6072: (p_source_code => 'LEDGER_CATEGORY_CODE'
6073: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6076: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6077: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6078: )
6079: THEN
6080: xla_ae_lines_pkg.BflowUpgEntry
6081: (p_business_method_code => l_bflow_method_code
6082: ,p_business_class_code => l_bflow_class_code
6083: ,p_balance_type => l_balance_type_code);
6084: ELSE
6093: --
6094: -- call description
6095: --
6096:
6097: xla_ae_lines_pkg.SetLineDescription(
6098: p_ae_header_id => l_ae_header_id
6099: ,p_description => Description_2 (
6100: p_application_id => p_application_id
6101: , p_ae_header_id => l_ae_header_id
6127: , x_value_type_code => l_adr_value_type_code
6128: , p_side => 'NA'
6129: );
6130:
6131: xla_ae_lines_pkg.set_ccid(
6132: p_code_combination_id => l_ccid
6133: , p_value_type_code => l_adr_value_type_code
6134: , p_transaction_coa_id => l_adr_transaction_coa_id
6135: , p_accounting_coa_id => l_adr_accounting_coa_id
6163: xla_accounting_err_pkg.build_message
6164: (p_appli_s_name => 'XLA'
6165: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6166: ,p_token_1 => 'LINE_NUMBER'
6167: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6168: ,p_token_2 => 'LINE_TYPE_NAME'
6169: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6170: l_component_type
6171: ,l_component_code
6199: --
6200: --
6201: ------------------------------------------------------------------------------------------------
6202: -- 4219869 Business Flow
6203: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6204: -- Prior Entry. Currently, the following code is always generated.
6205: ------------------------------------------------------------------------------------------------
6206: XLA_AE_LINES_PKG.ValidateCurrentLine;
6207:
6202: -- 4219869 Business Flow
6203: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6204: -- Prior Entry. Currently, the following code is always generated.
6205: ------------------------------------------------------------------------------------------------
6206: XLA_AE_LINES_PKG.ValidateCurrentLine;
6207:
6208: ------------------------------------------------------------------------------------
6209: -- 4219869 Business Flow
6210: -- Populated credit and debit amounts -- Need to generate this within IF
6208: ------------------------------------------------------------------------------------
6209: -- 4219869 Business Flow
6210: -- Populated credit and debit amounts -- Need to generate this within IF
6211: ------------------------------------------------------------------------------------
6212: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6213:
6214: ----------------------------------------------------------------------------------
6215: -- 4219869 Business Flow
6216: -- Update journal entry status -- Need to generate this within IF
6240: -- To allow MPA report to determine if it should generate report process
6241: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6242: ------------------------------------------------------------------------------------------
6243:
6244: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6245: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6246:
6247: --
6248: -- Update the line information that should be overwritten
6241: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6242: ------------------------------------------------------------------------------------------
6243:
6244: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6245: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6246:
6247: --
6248: -- Update the line information that should be overwritten
6249: --
6246:
6247: --
6248: -- Update the line information that should be overwritten
6249: --
6250: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6251: p_header_num => 1);
6252: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6253:
6254: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6248: -- Update the line information that should be overwritten
6249: --
6250: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6251: p_header_num => 1);
6252: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6253:
6254: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6255:
6256: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6250: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6251: p_header_num => 1);
6252: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6253:
6254: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6255:
6256: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6257: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6258: END IF;
6253:
6254: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6255:
6256: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6257: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6258: END IF;
6259:
6260: --
6261: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6260: --
6261: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6262: --
6263: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6264: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6265: ELSE
6266: ---------------------------------------------------------------------------------------------------
6267: -- 4262811a Switch Sign
6268: ---------------------------------------------------------------------------------------------------
6265: ELSE
6266: ---------------------------------------------------------------------------------------------------
6267: -- 4262811a Switch Sign
6268: ---------------------------------------------------------------------------------------------------
6269: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6266: ---------------------------------------------------------------------------------------------------
6267: -- 4262811a Switch Sign
6268: ---------------------------------------------------------------------------------------------------
6269: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6267: -- 4262811a Switch Sign
6268: ---------------------------------------------------------------------------------------------------
6269: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6275: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6268: ---------------------------------------------------------------------------------------------------
6269: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6275: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6276: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6269: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6275: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6276: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6277:
6271: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6275: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6276: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6277:
6278: END IF;
6279:
6272: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6273: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6274: -- 5132302
6275: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6276: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6277:
6278: END IF;
6279:
6280: -- 4955764
6277:
6278: END IF;
6279:
6280: -- 4955764
6281: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6282: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6283:
6284:
6285: XLA_AE_LINES_PKG.ValidateCurrentLine;
6281: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6282: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6283:
6284:
6285: XLA_AE_LINES_PKG.ValidateCurrentLine;
6286: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6287:
6288: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6289: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6282: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6283:
6284:
6285: XLA_AE_LINES_PKG.ValidateCurrentLine;
6286: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6287:
6288: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6289: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6290: ,p_balance_type_code => l_balance_type_code);
6418: --
6419: -- bulk performance
6420: --
6421: l_balance_type_code VARCHAR2(1);
6422: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6423: l_log_module VARCHAR2(240);
6424:
6425: --
6426: -- Upgrade strategy
6486: ') = 'LEASE_DEBIT'
6487: THEN
6488:
6489: --
6490: XLA_AE_LINES_PKG.SetNewLine;
6491:
6492: p_balance_type_code := l_balance_type_code;
6493: -- set the flag so later we will know whether the gain loss line needs to be created
6494:
6498:
6499: --
6500: -- bulk performance
6501: --
6502: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6503: p_header_num => 0); -- 4262811
6504: --
6505: -- set accounting line options
6506: --
6503: p_header_num => 0); -- 4262811
6504: --
6505: -- set accounting line options
6506: --
6507: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6508: p_natural_side_code => 'D'
6509: , p_gain_or_loss_flag => 'N'
6510: , p_gl_transfer_mode_code => 'S'
6511: , p_acct_entry_type_code => 'A'
6517: --
6518: --
6519: -- set accounting line type info
6520: --
6521: xla_ae_lines_pkg.SetAcctLineType
6522: (p_component_type => l_component_type
6523: ,p_event_type_code => l_event_type_code
6524: ,p_line_definition_owner_code => l_line_definition_owner_code
6525: ,p_line_definition_code => l_line_definition_code
6531: ,p_event_class_code => l_event_class_code);
6532: --
6533: -- set accounting class
6534: --
6535: xla_ae_lines_pkg.SetAcctClass(
6536: p_accounting_class_code => 'INVESTOR'
6537: , p_ae_header_id => l_ae_header_id
6538: );
6539:
6539:
6540: --
6541: -- set rounding class
6542: --
6543: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6544: 'INVESTOR';
6545:
6546: --
6547: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6543: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6544: 'INVESTOR';
6545:
6546: --
6547: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6548: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6549: --
6550: -- bulk performance
6551: --
6544: 'INVESTOR';
6545:
6546: --
6547: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6548: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6549: --
6550: -- bulk performance
6551: --
6552: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6548: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6549: --
6550: -- bulk performance
6551: --
6552: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6553:
6554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6555: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6556:
6550: -- bulk performance
6551: --
6552: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6553:
6554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6555: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6556:
6557: -- 4955764
6558: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6555: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6556:
6557: -- 4955764
6558: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6559: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6560:
6561: -- 4458381 Public Sector Enh
6562:
6580: l_rec_acct_attrs.array_num_value(6) := p_source_12;
6581: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
6582: l_rec_acct_attrs.array_char_value(7) := p_source_13;
6583:
6584: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6585: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6586:
6587: ---------------------------------------------------------------------------------------------------------------
6588: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6581: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
6582: l_rec_acct_attrs.array_char_value(7) := p_source_13;
6583:
6584: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6585: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6586:
6587: ---------------------------------------------------------------------------------------------------------------
6588: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6589: ---------------------------------------------------------------------------------------------------------------
6584: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6585: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6586:
6587: ---------------------------------------------------------------------------------------------------------------
6588: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6589: ---------------------------------------------------------------------------------------------------------------
6590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6591:
6592: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6586:
6587: ---------------------------------------------------------------------------------------------------------------
6588: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6589: ---------------------------------------------------------------------------------------------------------------
6590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6591:
6592: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6593: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6594:
6588: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6589: ---------------------------------------------------------------------------------------------------------------
6590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6591:
6592: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6593: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6594:
6595: IF xla_accounting_cache_pkg.GetValueChar
6596: (p_source_code => 'LEDGER_CATEGORY_CODE'
6589: ---------------------------------------------------------------------------------------------------------------
6590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6591:
6592: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6593: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6594:
6595: IF xla_accounting_cache_pkg.GetValueChar
6596: (p_source_code => 'LEDGER_CATEGORY_CODE'
6597: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6600: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6601: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6602: )
6603: THEN
6604: xla_ae_lines_pkg.BflowUpgEntry
6605: (p_business_method_code => l_bflow_method_code
6606: ,p_business_class_code => l_bflow_class_code
6607: ,p_balance_type => l_balance_type_code);
6608: ELSE
6617: --
6618: -- call description
6619: --
6620:
6621: xla_ae_lines_pkg.SetLineDescription(
6622: p_ae_header_id => l_ae_header_id
6623: ,p_description => Description_2 (
6624: p_application_id => p_application_id
6625: , p_ae_header_id => l_ae_header_id
6651: , x_value_type_code => l_adr_value_type_code
6652: , p_side => 'NA'
6653: );
6654:
6655: xla_ae_lines_pkg.set_ccid(
6656: p_code_combination_id => l_ccid
6657: , p_value_type_code => l_adr_value_type_code
6658: , p_transaction_coa_id => l_adr_transaction_coa_id
6659: , p_accounting_coa_id => l_adr_accounting_coa_id
6687: xla_accounting_err_pkg.build_message
6688: (p_appli_s_name => 'XLA'
6689: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6690: ,p_token_1 => 'LINE_NUMBER'
6691: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6692: ,p_token_2 => 'LINE_TYPE_NAME'
6693: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6694: l_component_type
6695: ,l_component_code
6723: --
6724: --
6725: ------------------------------------------------------------------------------------------------
6726: -- 4219869 Business Flow
6727: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6728: -- Prior Entry. Currently, the following code is always generated.
6729: ------------------------------------------------------------------------------------------------
6730: XLA_AE_LINES_PKG.ValidateCurrentLine;
6731:
6726: -- 4219869 Business Flow
6727: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6728: -- Prior Entry. Currently, the following code is always generated.
6729: ------------------------------------------------------------------------------------------------
6730: XLA_AE_LINES_PKG.ValidateCurrentLine;
6731:
6732: ------------------------------------------------------------------------------------
6733: -- 4219869 Business Flow
6734: -- Populated credit and debit amounts -- Need to generate this within IF
6732: ------------------------------------------------------------------------------------
6733: -- 4219869 Business Flow
6734: -- Populated credit and debit amounts -- Need to generate this within IF
6735: ------------------------------------------------------------------------------------
6736: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6737:
6738: ----------------------------------------------------------------------------------
6739: -- 4219869 Business Flow
6740: -- Update journal entry status -- Need to generate this within IF
6764: -- To allow MPA report to determine if it should generate report process
6765: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6766: ------------------------------------------------------------------------------------------
6767:
6768: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6769: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6770:
6771: --
6772: -- Update the line information that should be overwritten
6765: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6766: ------------------------------------------------------------------------------------------
6767:
6768: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6769: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6770:
6771: --
6772: -- Update the line information that should be overwritten
6773: --
6770:
6771: --
6772: -- Update the line information that should be overwritten
6773: --
6774: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6775: p_header_num => 1);
6776: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6777:
6778: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6772: -- Update the line information that should be overwritten
6773: --
6774: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6775: p_header_num => 1);
6776: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6777:
6778: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6779:
6780: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6774: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6775: p_header_num => 1);
6776: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6777:
6778: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6779:
6780: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6781: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6782: END IF;
6777:
6778: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6779:
6780: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6781: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6782: END IF;
6783:
6784: --
6785: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6784: --
6785: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6786: --
6787: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6788: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6789: ELSE
6790: ---------------------------------------------------------------------------------------------------
6791: -- 4262811a Switch Sign
6792: ---------------------------------------------------------------------------------------------------
6789: ELSE
6790: ---------------------------------------------------------------------------------------------------
6791: -- 4262811a Switch Sign
6792: ---------------------------------------------------------------------------------------------------
6793: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6790: ---------------------------------------------------------------------------------------------------
6791: -- 4262811a Switch Sign
6792: ---------------------------------------------------------------------------------------------------
6793: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6791: -- 4262811a Switch Sign
6792: ---------------------------------------------------------------------------------------------------
6793: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6799: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6792: ---------------------------------------------------------------------------------------------------
6793: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6799: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6800: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6793: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6799: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6800: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6801:
6795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6799: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6800: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6801:
6802: END IF;
6803:
6796: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6797: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6798: -- 5132302
6799: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6800: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6801:
6802: END IF;
6803:
6804: -- 4955764
6801:
6802: END IF;
6803:
6804: -- 4955764
6805: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6806: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6807:
6808:
6809: XLA_AE_LINES_PKG.ValidateCurrentLine;
6805: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6806: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6807:
6808:
6809: XLA_AE_LINES_PKG.ValidateCurrentLine;
6810: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6811:
6812: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6813: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6806: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6807:
6808:
6809: XLA_AE_LINES_PKG.ValidateCurrentLine;
6810: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6811:
6812: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6813: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6814: ,p_balance_type_code => l_balance_type_code);
6942: --
6943: -- bulk performance
6944: --
6945: l_balance_type_code VARCHAR2(1);
6946: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6947: l_log_module VARCHAR2(240);
6948:
6949: --
6950: -- Upgrade strategy
7010: ') = 'LEASE_CREDIT'
7011: THEN
7012:
7013: --
7014: XLA_AE_LINES_PKG.SetNewLine;
7015:
7016: p_balance_type_code := l_balance_type_code;
7017: -- set the flag so later we will know whether the gain loss line needs to be created
7018:
7022:
7023: --
7024: -- bulk performance
7025: --
7026: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7027: p_header_num => 0); -- 4262811
7028: --
7029: -- set accounting line options
7030: --
7027: p_header_num => 0); -- 4262811
7028: --
7029: -- set accounting line options
7030: --
7031: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7032: p_natural_side_code => 'C'
7033: , p_gain_or_loss_flag => 'N'
7034: , p_gl_transfer_mode_code => 'S'
7035: , p_acct_entry_type_code => 'A'
7041: --
7042: --
7043: -- set accounting line type info
7044: --
7045: xla_ae_lines_pkg.SetAcctLineType
7046: (p_component_type => l_component_type
7047: ,p_event_type_code => l_event_type_code
7048: ,p_line_definition_owner_code => l_line_definition_owner_code
7049: ,p_line_definition_code => l_line_definition_code
7055: ,p_event_class_code => l_event_class_code);
7056: --
7057: -- set accounting class
7058: --
7059: xla_ae_lines_pkg.SetAcctClass(
7060: p_accounting_class_code => 'PRINCIPAL_ADJUSTMENT'
7061: , p_ae_header_id => l_ae_header_id
7062: );
7063:
7063:
7064: --
7065: -- set rounding class
7066: --
7067: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7068: 'PRINCIPAL_ADJUSTMENT';
7069:
7070: --
7071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7067: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7068: 'PRINCIPAL_ADJUSTMENT';
7069:
7070: --
7071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7073: --
7074: -- bulk performance
7075: --
7068: 'PRINCIPAL_ADJUSTMENT';
7069:
7070: --
7071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7073: --
7074: -- bulk performance
7075: --
7076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7073: --
7074: -- bulk performance
7075: --
7076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7077:
7078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7080:
7074: -- bulk performance
7075: --
7076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7077:
7078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7080:
7081: -- 4955764
7082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7080:
7081: -- 4955764
7082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7083: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7084:
7085: -- 4458381 Public Sector Enh
7086:
7104: l_rec_acct_attrs.array_num_value(6) := p_source_12;
7105: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
7106: l_rec_acct_attrs.array_char_value(7) := p_source_13;
7107:
7108: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7109: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7110:
7111: ---------------------------------------------------------------------------------------------------------------
7112: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7105: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
7106: l_rec_acct_attrs.array_char_value(7) := p_source_13;
7107:
7108: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7109: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7110:
7111: ---------------------------------------------------------------------------------------------------------------
7112: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7113: ---------------------------------------------------------------------------------------------------------------
7108: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7109: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7110:
7111: ---------------------------------------------------------------------------------------------------------------
7112: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7113: ---------------------------------------------------------------------------------------------------------------
7114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7115:
7116: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7110:
7111: ---------------------------------------------------------------------------------------------------------------
7112: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7113: ---------------------------------------------------------------------------------------------------------------
7114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7115:
7116: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7117: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7118:
7112: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7113: ---------------------------------------------------------------------------------------------------------------
7114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7115:
7116: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7117: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7118:
7119: IF xla_accounting_cache_pkg.GetValueChar
7120: (p_source_code => 'LEDGER_CATEGORY_CODE'
7113: ---------------------------------------------------------------------------------------------------------------
7114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7115:
7116: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7117: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7118:
7119: IF xla_accounting_cache_pkg.GetValueChar
7120: (p_source_code => 'LEDGER_CATEGORY_CODE'
7121: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7124: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7125: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7126: )
7127: THEN
7128: xla_ae_lines_pkg.BflowUpgEntry
7129: (p_business_method_code => l_bflow_method_code
7130: ,p_business_class_code => l_bflow_class_code
7131: ,p_balance_type => l_balance_type_code);
7132: ELSE
7141: --
7142: -- call description
7143: --
7144:
7145: xla_ae_lines_pkg.SetLineDescription(
7146: p_ae_header_id => l_ae_header_id
7147: ,p_description => Description_1 (
7148: p_application_id => p_application_id
7149: , p_ae_header_id => l_ae_header_id
7175: , x_value_type_code => l_adr_value_type_code
7176: , p_side => 'NA'
7177: );
7178:
7179: xla_ae_lines_pkg.set_ccid(
7180: p_code_combination_id => l_ccid
7181: , p_value_type_code => l_adr_value_type_code
7182: , p_transaction_coa_id => l_adr_transaction_coa_id
7183: , p_accounting_coa_id => l_adr_accounting_coa_id
7211: xla_accounting_err_pkg.build_message
7212: (p_appli_s_name => 'XLA'
7213: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7214: ,p_token_1 => 'LINE_NUMBER'
7215: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7216: ,p_token_2 => 'LINE_TYPE_NAME'
7217: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7218: l_component_type
7219: ,l_component_code
7247: --
7248: --
7249: ------------------------------------------------------------------------------------------------
7250: -- 4219869 Business Flow
7251: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7252: -- Prior Entry. Currently, the following code is always generated.
7253: ------------------------------------------------------------------------------------------------
7254: XLA_AE_LINES_PKG.ValidateCurrentLine;
7255:
7250: -- 4219869 Business Flow
7251: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7252: -- Prior Entry. Currently, the following code is always generated.
7253: ------------------------------------------------------------------------------------------------
7254: XLA_AE_LINES_PKG.ValidateCurrentLine;
7255:
7256: ------------------------------------------------------------------------------------
7257: -- 4219869 Business Flow
7258: -- Populated credit and debit amounts -- Need to generate this within IF
7256: ------------------------------------------------------------------------------------
7257: -- 4219869 Business Flow
7258: -- Populated credit and debit amounts -- Need to generate this within IF
7259: ------------------------------------------------------------------------------------
7260: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7261:
7262: ----------------------------------------------------------------------------------
7263: -- 4219869 Business Flow
7264: -- Update journal entry status -- Need to generate this within IF
7288: -- To allow MPA report to determine if it should generate report process
7289: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7290: ------------------------------------------------------------------------------------------
7291:
7292: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7293: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7294:
7295: --
7296: -- Update the line information that should be overwritten
7289: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7290: ------------------------------------------------------------------------------------------
7291:
7292: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7293: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7294:
7295: --
7296: -- Update the line information that should be overwritten
7297: --
7294:
7295: --
7296: -- Update the line information that should be overwritten
7297: --
7298: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7299: p_header_num => 1);
7300: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7301:
7302: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7296: -- Update the line information that should be overwritten
7297: --
7298: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7299: p_header_num => 1);
7300: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7301:
7302: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7303:
7304: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7298: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7299: p_header_num => 1);
7300: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7301:
7302: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7303:
7304: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7305: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7306: END IF;
7301:
7302: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7303:
7304: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7305: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7306: END IF;
7307:
7308: --
7309: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7308: --
7309: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7310: --
7311: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7312: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7313: ELSE
7314: ---------------------------------------------------------------------------------------------------
7315: -- 4262811a Switch Sign
7316: ---------------------------------------------------------------------------------------------------
7313: ELSE
7314: ---------------------------------------------------------------------------------------------------
7315: -- 4262811a Switch Sign
7316: ---------------------------------------------------------------------------------------------------
7317: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7314: ---------------------------------------------------------------------------------------------------
7315: -- 4262811a Switch Sign
7316: ---------------------------------------------------------------------------------------------------
7317: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7315: -- 4262811a Switch Sign
7316: ---------------------------------------------------------------------------------------------------
7317: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7323: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7316: ---------------------------------------------------------------------------------------------------
7317: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7323: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7324: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7317: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7323: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7324: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7325:
7319: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7323: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7324: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7325:
7326: END IF;
7327:
7320: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7321: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7322: -- 5132302
7323: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7324: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7325:
7326: END IF;
7327:
7328: -- 4955764
7325:
7326: END IF;
7327:
7328: -- 4955764
7329: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7330: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7331:
7332:
7333: XLA_AE_LINES_PKG.ValidateCurrentLine;
7329: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7330: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7331:
7332:
7333: XLA_AE_LINES_PKG.ValidateCurrentLine;
7334: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7335:
7336: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7337: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7330: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7331:
7332:
7333: XLA_AE_LINES_PKG.ValidateCurrentLine;
7334: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7335:
7336: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7337: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7338: ,p_balance_type_code => l_balance_type_code);
7466: --
7467: -- bulk performance
7468: --
7469: l_balance_type_code VARCHAR2(1);
7470: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7471: l_log_module VARCHAR2(240);
7472:
7473: --
7474: -- Upgrade strategy
7534: ') = 'LEASE_DEBIT'
7535: THEN
7536:
7537: --
7538: XLA_AE_LINES_PKG.SetNewLine;
7539:
7540: p_balance_type_code := l_balance_type_code;
7541: -- set the flag so later we will know whether the gain loss line needs to be created
7542:
7546:
7547: --
7548: -- bulk performance
7549: --
7550: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7551: p_header_num => 0); -- 4262811
7552: --
7553: -- set accounting line options
7554: --
7551: p_header_num => 0); -- 4262811
7552: --
7553: -- set accounting line options
7554: --
7555: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7556: p_natural_side_code => 'D'
7557: , p_gain_or_loss_flag => 'N'
7558: , p_gl_transfer_mode_code => 'S'
7559: , p_acct_entry_type_code => 'A'
7565: --
7566: --
7567: -- set accounting line type info
7568: --
7569: xla_ae_lines_pkg.SetAcctLineType
7570: (p_component_type => l_component_type
7571: ,p_event_type_code => l_event_type_code
7572: ,p_line_definition_owner_code => l_line_definition_owner_code
7573: ,p_line_definition_code => l_line_definition_code
7579: ,p_event_class_code => l_event_class_code);
7580: --
7581: -- set accounting class
7582: --
7583: xla_ae_lines_pkg.SetAcctClass(
7584: p_accounting_class_code => 'PRINCIPAL_ADJUSTMENT'
7585: , p_ae_header_id => l_ae_header_id
7586: );
7587:
7587:
7588: --
7589: -- set rounding class
7590: --
7591: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7592: 'PRINCIPAL_ADJUSTMENT';
7593:
7594: --
7595: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7591: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7592: 'PRINCIPAL_ADJUSTMENT';
7593:
7594: --
7595: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7596: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7597: --
7598: -- bulk performance
7599: --
7592: 'PRINCIPAL_ADJUSTMENT';
7593:
7594: --
7595: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7596: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7597: --
7598: -- bulk performance
7599: --
7600: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7596: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7597: --
7598: -- bulk performance
7599: --
7600: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7601:
7602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7603: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7604:
7598: -- bulk performance
7599: --
7600: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7601:
7602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7603: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7604:
7605: -- 4955764
7606: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7602: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7603: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7604:
7605: -- 4955764
7606: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7607: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7608:
7609: -- 4458381 Public Sector Enh
7610:
7628: l_rec_acct_attrs.array_num_value(6) := p_source_12;
7629: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
7630: l_rec_acct_attrs.array_char_value(7) := p_source_13;
7631:
7632: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7633: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7634:
7635: ---------------------------------------------------------------------------------------------------------------
7636: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7629: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
7630: l_rec_acct_attrs.array_char_value(7) := p_source_13;
7631:
7632: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7633: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7634:
7635: ---------------------------------------------------------------------------------------------------------------
7636: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7637: ---------------------------------------------------------------------------------------------------------------
7632: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7633: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7634:
7635: ---------------------------------------------------------------------------------------------------------------
7636: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7637: ---------------------------------------------------------------------------------------------------------------
7638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7639:
7640: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7634:
7635: ---------------------------------------------------------------------------------------------------------------
7636: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7637: ---------------------------------------------------------------------------------------------------------------
7638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7639:
7640: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7641: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7642:
7636: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7637: ---------------------------------------------------------------------------------------------------------------
7638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7639:
7640: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7641: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7642:
7643: IF xla_accounting_cache_pkg.GetValueChar
7644: (p_source_code => 'LEDGER_CATEGORY_CODE'
7637: ---------------------------------------------------------------------------------------------------------------
7638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7639:
7640: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7641: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7642:
7643: IF xla_accounting_cache_pkg.GetValueChar
7644: (p_source_code => 'LEDGER_CATEGORY_CODE'
7645: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7648: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7649: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7650: )
7651: THEN
7652: xla_ae_lines_pkg.BflowUpgEntry
7653: (p_business_method_code => l_bflow_method_code
7654: ,p_business_class_code => l_bflow_class_code
7655: ,p_balance_type => l_balance_type_code);
7656: ELSE
7665: --
7666: -- call description
7667: --
7668:
7669: xla_ae_lines_pkg.SetLineDescription(
7670: p_ae_header_id => l_ae_header_id
7671: ,p_description => Description_1 (
7672: p_application_id => p_application_id
7673: , p_ae_header_id => l_ae_header_id
7699: , x_value_type_code => l_adr_value_type_code
7700: , p_side => 'NA'
7701: );
7702:
7703: xla_ae_lines_pkg.set_ccid(
7704: p_code_combination_id => l_ccid
7705: , p_value_type_code => l_adr_value_type_code
7706: , p_transaction_coa_id => l_adr_transaction_coa_id
7707: , p_accounting_coa_id => l_adr_accounting_coa_id
7735: xla_accounting_err_pkg.build_message
7736: (p_appli_s_name => 'XLA'
7737: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7738: ,p_token_1 => 'LINE_NUMBER'
7739: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7740: ,p_token_2 => 'LINE_TYPE_NAME'
7741: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7742: l_component_type
7743: ,l_component_code
7771: --
7772: --
7773: ------------------------------------------------------------------------------------------------
7774: -- 4219869 Business Flow
7775: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7776: -- Prior Entry. Currently, the following code is always generated.
7777: ------------------------------------------------------------------------------------------------
7778: XLA_AE_LINES_PKG.ValidateCurrentLine;
7779:
7774: -- 4219869 Business Flow
7775: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7776: -- Prior Entry. Currently, the following code is always generated.
7777: ------------------------------------------------------------------------------------------------
7778: XLA_AE_LINES_PKG.ValidateCurrentLine;
7779:
7780: ------------------------------------------------------------------------------------
7781: -- 4219869 Business Flow
7782: -- Populated credit and debit amounts -- Need to generate this within IF
7780: ------------------------------------------------------------------------------------
7781: -- 4219869 Business Flow
7782: -- Populated credit and debit amounts -- Need to generate this within IF
7783: ------------------------------------------------------------------------------------
7784: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7785:
7786: ----------------------------------------------------------------------------------
7787: -- 4219869 Business Flow
7788: -- Update journal entry status -- Need to generate this within IF
7812: -- To allow MPA report to determine if it should generate report process
7813: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7814: ------------------------------------------------------------------------------------------
7815:
7816: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7817: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7818:
7819: --
7820: -- Update the line information that should be overwritten
7813: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7814: ------------------------------------------------------------------------------------------
7815:
7816: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7817: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7818:
7819: --
7820: -- Update the line information that should be overwritten
7821: --
7818:
7819: --
7820: -- Update the line information that should be overwritten
7821: --
7822: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7823: p_header_num => 1);
7824: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7825:
7826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7820: -- Update the line information that should be overwritten
7821: --
7822: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7823: p_header_num => 1);
7824: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7825:
7826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7827:
7828: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7822: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7823: p_header_num => 1);
7824: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7825:
7826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7827:
7828: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7829: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7830: END IF;
7825:
7826: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7827:
7828: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7829: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7830: END IF;
7831:
7832: --
7833: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7832: --
7833: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7834: --
7835: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7836: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7837: ELSE
7838: ---------------------------------------------------------------------------------------------------
7839: -- 4262811a Switch Sign
7840: ---------------------------------------------------------------------------------------------------
7837: ELSE
7838: ---------------------------------------------------------------------------------------------------
7839: -- 4262811a Switch Sign
7840: ---------------------------------------------------------------------------------------------------
7841: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7838: ---------------------------------------------------------------------------------------------------
7839: -- 4262811a Switch Sign
7840: ---------------------------------------------------------------------------------------------------
7841: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7839: -- 4262811a Switch Sign
7840: ---------------------------------------------------------------------------------------------------
7841: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7840: ---------------------------------------------------------------------------------------------------
7841: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7841: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7849:
7843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7849:
7850: END IF;
7851:
7844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7846: -- 5132302
7847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7849:
7850: END IF;
7851:
7852: -- 4955764
7849:
7850: END IF;
7851:
7852: -- 4955764
7853: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7854: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7855:
7856:
7857: XLA_AE_LINES_PKG.ValidateCurrentLine;
7853: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7854: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7855:
7856:
7857: XLA_AE_LINES_PKG.ValidateCurrentLine;
7858: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7859:
7860: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7861: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7854: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7855:
7856:
7857: XLA_AE_LINES_PKG.ValidateCurrentLine;
7858: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7859:
7860: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7861: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7862: ,p_balance_type_code => l_balance_type_code);
7990: --
7991: -- bulk performance
7992: --
7993: l_balance_type_code VARCHAR2(1);
7994: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7995: l_log_module VARCHAR2(240);
7996:
7997: --
7998: -- Upgrade strategy
8058: ') = 'LEASE_CREDIT'
8059: THEN
8060:
8061: --
8062: XLA_AE_LINES_PKG.SetNewLine;
8063:
8064: p_balance_type_code := l_balance_type_code;
8065: -- set the flag so later we will know whether the gain loss line needs to be created
8066:
8070:
8071: --
8072: -- bulk performance
8073: --
8074: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8075: p_header_num => 0); -- 4262811
8076: --
8077: -- set accounting line options
8078: --
8075: p_header_num => 0); -- 4262811
8076: --
8077: -- set accounting line options
8078: --
8079: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8080: p_natural_side_code => 'C'
8081: , p_gain_or_loss_flag => 'N'
8082: , p_gl_transfer_mode_code => 'S'
8083: , p_acct_entry_type_code => 'A'
8089: --
8090: --
8091: -- set accounting line type info
8092: --
8093: xla_ae_lines_pkg.SetAcctLineType
8094: (p_component_type => l_component_type
8095: ,p_event_type_code => l_event_type_code
8096: ,p_line_definition_owner_code => l_line_definition_owner_code
8097: ,p_line_definition_code => l_line_definition_code
8103: ,p_event_class_code => l_event_class_code);
8104: --
8105: -- set accounting class
8106: --
8107: xla_ae_lines_pkg.SetAcctClass(
8108: p_accounting_class_code => 'REBOOK'
8109: , p_ae_header_id => l_ae_header_id
8110: );
8111:
8111:
8112: --
8113: -- set rounding class
8114: --
8115: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8116: 'REBOOK';
8117:
8118: --
8119: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8115: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8116: 'REBOOK';
8117:
8118: --
8119: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8120: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8121: --
8122: -- bulk performance
8123: --
8116: 'REBOOK';
8117:
8118: --
8119: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8120: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8121: --
8122: -- bulk performance
8123: --
8124: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8120: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8121: --
8122: -- bulk performance
8123: --
8124: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8125:
8126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8127: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8128:
8122: -- bulk performance
8123: --
8124: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8125:
8126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8127: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8128:
8129: -- 4955764
8130: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8126: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8127: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8128:
8129: -- 4955764
8130: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8131: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8132:
8133: -- 4458381 Public Sector Enh
8134:
8152: l_rec_acct_attrs.array_num_value(6) := p_source_12;
8153: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
8154: l_rec_acct_attrs.array_char_value(7) := p_source_13;
8155:
8156: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8157: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8158:
8159: ---------------------------------------------------------------------------------------------------------------
8160: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8153: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
8154: l_rec_acct_attrs.array_char_value(7) := p_source_13;
8155:
8156: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8157: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8158:
8159: ---------------------------------------------------------------------------------------------------------------
8160: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8161: ---------------------------------------------------------------------------------------------------------------
8156: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8157: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8158:
8159: ---------------------------------------------------------------------------------------------------------------
8160: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8161: ---------------------------------------------------------------------------------------------------------------
8162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8163:
8164: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8158:
8159: ---------------------------------------------------------------------------------------------------------------
8160: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8161: ---------------------------------------------------------------------------------------------------------------
8162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8163:
8164: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8165: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8166:
8160: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8161: ---------------------------------------------------------------------------------------------------------------
8162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8163:
8164: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8165: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8166:
8167: IF xla_accounting_cache_pkg.GetValueChar
8168: (p_source_code => 'LEDGER_CATEGORY_CODE'
8161: ---------------------------------------------------------------------------------------------------------------
8162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8163:
8164: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8165: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8166:
8167: IF xla_accounting_cache_pkg.GetValueChar
8168: (p_source_code => 'LEDGER_CATEGORY_CODE'
8169: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8172: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8173: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8174: )
8175: THEN
8176: xla_ae_lines_pkg.BflowUpgEntry
8177: (p_business_method_code => l_bflow_method_code
8178: ,p_business_class_code => l_bflow_class_code
8179: ,p_balance_type => l_balance_type_code);
8180: ELSE
8189: --
8190: -- call description
8191: --
8192:
8193: xla_ae_lines_pkg.SetLineDescription(
8194: p_ae_header_id => l_ae_header_id
8195: ,p_description => Description_1 (
8196: p_application_id => p_application_id
8197: , p_ae_header_id => l_ae_header_id
8223: , x_value_type_code => l_adr_value_type_code
8224: , p_side => 'NA'
8225: );
8226:
8227: xla_ae_lines_pkg.set_ccid(
8228: p_code_combination_id => l_ccid
8229: , p_value_type_code => l_adr_value_type_code
8230: , p_transaction_coa_id => l_adr_transaction_coa_id
8231: , p_accounting_coa_id => l_adr_accounting_coa_id
8259: xla_accounting_err_pkg.build_message
8260: (p_appli_s_name => 'XLA'
8261: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8262: ,p_token_1 => 'LINE_NUMBER'
8263: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8264: ,p_token_2 => 'LINE_TYPE_NAME'
8265: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8266: l_component_type
8267: ,l_component_code
8295: --
8296: --
8297: ------------------------------------------------------------------------------------------------
8298: -- 4219869 Business Flow
8299: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8300: -- Prior Entry. Currently, the following code is always generated.
8301: ------------------------------------------------------------------------------------------------
8302: XLA_AE_LINES_PKG.ValidateCurrentLine;
8303:
8298: -- 4219869 Business Flow
8299: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8300: -- Prior Entry. Currently, the following code is always generated.
8301: ------------------------------------------------------------------------------------------------
8302: XLA_AE_LINES_PKG.ValidateCurrentLine;
8303:
8304: ------------------------------------------------------------------------------------
8305: -- 4219869 Business Flow
8306: -- Populated credit and debit amounts -- Need to generate this within IF
8304: ------------------------------------------------------------------------------------
8305: -- 4219869 Business Flow
8306: -- Populated credit and debit amounts -- Need to generate this within IF
8307: ------------------------------------------------------------------------------------
8308: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8309:
8310: ----------------------------------------------------------------------------------
8311: -- 4219869 Business Flow
8312: -- Update journal entry status -- Need to generate this within IF
8336: -- To allow MPA report to determine if it should generate report process
8337: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8338: ------------------------------------------------------------------------------------------
8339:
8340: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8341: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8342:
8343: --
8344: -- Update the line information that should be overwritten
8337: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8338: ------------------------------------------------------------------------------------------
8339:
8340: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8341: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8342:
8343: --
8344: -- Update the line information that should be overwritten
8345: --
8342:
8343: --
8344: -- Update the line information that should be overwritten
8345: --
8346: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8347: p_header_num => 1);
8348: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8349:
8350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8344: -- Update the line information that should be overwritten
8345: --
8346: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8347: p_header_num => 1);
8348: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8349:
8350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8351:
8352: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8346: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8347: p_header_num => 1);
8348: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8349:
8350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8351:
8352: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8353: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8354: END IF;
8349:
8350: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8351:
8352: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8353: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8354: END IF;
8355:
8356: --
8357: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8356: --
8357: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8358: --
8359: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8360: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8361: ELSE
8362: ---------------------------------------------------------------------------------------------------
8363: -- 4262811a Switch Sign
8364: ---------------------------------------------------------------------------------------------------
8361: ELSE
8362: ---------------------------------------------------------------------------------------------------
8363: -- 4262811a Switch Sign
8364: ---------------------------------------------------------------------------------------------------
8365: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8362: ---------------------------------------------------------------------------------------------------
8363: -- 4262811a Switch Sign
8364: ---------------------------------------------------------------------------------------------------
8365: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8363: -- 4262811a Switch Sign
8364: ---------------------------------------------------------------------------------------------------
8365: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8371: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8364: ---------------------------------------------------------------------------------------------------
8365: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8371: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8372: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8365: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8371: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8372: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8373:
8367: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8371: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8372: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8373:
8374: END IF;
8375:
8368: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8369: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8370: -- 5132302
8371: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8372: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8373:
8374: END IF;
8375:
8376: -- 4955764
8373:
8374: END IF;
8375:
8376: -- 4955764
8377: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8378: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8379:
8380:
8381: XLA_AE_LINES_PKG.ValidateCurrentLine;
8377: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8378: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8379:
8380:
8381: XLA_AE_LINES_PKG.ValidateCurrentLine;
8382: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8383:
8384: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8385: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8378: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8379:
8380:
8381: XLA_AE_LINES_PKG.ValidateCurrentLine;
8382: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8383:
8384: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8385: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8386: ,p_balance_type_code => l_balance_type_code);
8514: --
8515: -- bulk performance
8516: --
8517: l_balance_type_code VARCHAR2(1);
8518: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8519: l_log_module VARCHAR2(240);
8520:
8521: --
8522: -- Upgrade strategy
8582: ') = 'LEASE_DEBIT'
8583: THEN
8584:
8585: --
8586: XLA_AE_LINES_PKG.SetNewLine;
8587:
8588: p_balance_type_code := l_balance_type_code;
8589: -- set the flag so later we will know whether the gain loss line needs to be created
8590:
8594:
8595: --
8596: -- bulk performance
8597: --
8598: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8599: p_header_num => 0); -- 4262811
8600: --
8601: -- set accounting line options
8602: --
8599: p_header_num => 0); -- 4262811
8600: --
8601: -- set accounting line options
8602: --
8603: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8604: p_natural_side_code => 'D'
8605: , p_gain_or_loss_flag => 'N'
8606: , p_gl_transfer_mode_code => 'S'
8607: , p_acct_entry_type_code => 'A'
8613: --
8614: --
8615: -- set accounting line type info
8616: --
8617: xla_ae_lines_pkg.SetAcctLineType
8618: (p_component_type => l_component_type
8619: ,p_event_type_code => l_event_type_code
8620: ,p_line_definition_owner_code => l_line_definition_owner_code
8621: ,p_line_definition_code => l_line_definition_code
8627: ,p_event_class_code => l_event_class_code);
8628: --
8629: -- set accounting class
8630: --
8631: xla_ae_lines_pkg.SetAcctClass(
8632: p_accounting_class_code => 'REBOOK'
8633: , p_ae_header_id => l_ae_header_id
8634: );
8635:
8635:
8636: --
8637: -- set rounding class
8638: --
8639: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8640: 'REBOOK';
8641:
8642: --
8643: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8639: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8640: 'REBOOK';
8641:
8642: --
8643: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8644: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8645: --
8646: -- bulk performance
8647: --
8640: 'REBOOK';
8641:
8642: --
8643: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8644: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8645: --
8646: -- bulk performance
8647: --
8648: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8644: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8645: --
8646: -- bulk performance
8647: --
8648: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8649:
8650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8651: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8652:
8646: -- bulk performance
8647: --
8648: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8649:
8650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8651: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8652:
8653: -- 4955764
8654: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8651: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8652:
8653: -- 4955764
8654: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8655: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8656:
8657: -- 4458381 Public Sector Enh
8658:
8676: l_rec_acct_attrs.array_num_value(6) := p_source_12;
8677: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
8678: l_rec_acct_attrs.array_char_value(7) := p_source_13;
8679:
8680: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8681: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8682:
8683: ---------------------------------------------------------------------------------------------------------------
8684: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8677: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
8678: l_rec_acct_attrs.array_char_value(7) := p_source_13;
8679:
8680: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8681: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8682:
8683: ---------------------------------------------------------------------------------------------------------------
8684: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8685: ---------------------------------------------------------------------------------------------------------------
8680: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8681: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8682:
8683: ---------------------------------------------------------------------------------------------------------------
8684: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8685: ---------------------------------------------------------------------------------------------------------------
8686: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8687:
8688: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8682:
8683: ---------------------------------------------------------------------------------------------------------------
8684: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8685: ---------------------------------------------------------------------------------------------------------------
8686: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8687:
8688: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8689: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8690:
8684: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8685: ---------------------------------------------------------------------------------------------------------------
8686: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8687:
8688: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8689: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8690:
8691: IF xla_accounting_cache_pkg.GetValueChar
8692: (p_source_code => 'LEDGER_CATEGORY_CODE'
8685: ---------------------------------------------------------------------------------------------------------------
8686: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8687:
8688: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8689: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8690:
8691: IF xla_accounting_cache_pkg.GetValueChar
8692: (p_source_code => 'LEDGER_CATEGORY_CODE'
8693: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8696: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8697: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8698: )
8699: THEN
8700: xla_ae_lines_pkg.BflowUpgEntry
8701: (p_business_method_code => l_bflow_method_code
8702: ,p_business_class_code => l_bflow_class_code
8703: ,p_balance_type => l_balance_type_code);
8704: ELSE
8713: --
8714: -- call description
8715: --
8716:
8717: xla_ae_lines_pkg.SetLineDescription(
8718: p_ae_header_id => l_ae_header_id
8719: ,p_description => Description_1 (
8720: p_application_id => p_application_id
8721: , p_ae_header_id => l_ae_header_id
8747: , x_value_type_code => l_adr_value_type_code
8748: , p_side => 'NA'
8749: );
8750:
8751: xla_ae_lines_pkg.set_ccid(
8752: p_code_combination_id => l_ccid
8753: , p_value_type_code => l_adr_value_type_code
8754: , p_transaction_coa_id => l_adr_transaction_coa_id
8755: , p_accounting_coa_id => l_adr_accounting_coa_id
8783: xla_accounting_err_pkg.build_message
8784: (p_appli_s_name => 'XLA'
8785: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8786: ,p_token_1 => 'LINE_NUMBER'
8787: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8788: ,p_token_2 => 'LINE_TYPE_NAME'
8789: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8790: l_component_type
8791: ,l_component_code
8819: --
8820: --
8821: ------------------------------------------------------------------------------------------------
8822: -- 4219869 Business Flow
8823: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8824: -- Prior Entry. Currently, the following code is always generated.
8825: ------------------------------------------------------------------------------------------------
8826: XLA_AE_LINES_PKG.ValidateCurrentLine;
8827:
8822: -- 4219869 Business Flow
8823: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8824: -- Prior Entry. Currently, the following code is always generated.
8825: ------------------------------------------------------------------------------------------------
8826: XLA_AE_LINES_PKG.ValidateCurrentLine;
8827:
8828: ------------------------------------------------------------------------------------
8829: -- 4219869 Business Flow
8830: -- Populated credit and debit amounts -- Need to generate this within IF
8828: ------------------------------------------------------------------------------------
8829: -- 4219869 Business Flow
8830: -- Populated credit and debit amounts -- Need to generate this within IF
8831: ------------------------------------------------------------------------------------
8832: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8833:
8834: ----------------------------------------------------------------------------------
8835: -- 4219869 Business Flow
8836: -- Update journal entry status -- Need to generate this within IF
8860: -- To allow MPA report to determine if it should generate report process
8861: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8862: ------------------------------------------------------------------------------------------
8863:
8864: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8865: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8866:
8867: --
8868: -- Update the line information that should be overwritten
8861: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8862: ------------------------------------------------------------------------------------------
8863:
8864: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8865: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8866:
8867: --
8868: -- Update the line information that should be overwritten
8869: --
8866:
8867: --
8868: -- Update the line information that should be overwritten
8869: --
8870: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8871: p_header_num => 1);
8872: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8873:
8874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8868: -- Update the line information that should be overwritten
8869: --
8870: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8871: p_header_num => 1);
8872: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8873:
8874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8875:
8876: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8870: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8871: p_header_num => 1);
8872: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8873:
8874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8875:
8876: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8877: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8878: END IF;
8873:
8874: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8875:
8876: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8877: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8878: END IF;
8879:
8880: --
8881: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8880: --
8881: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8882: --
8883: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8884: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8885: ELSE
8886: ---------------------------------------------------------------------------------------------------
8887: -- 4262811a Switch Sign
8888: ---------------------------------------------------------------------------------------------------
8885: ELSE
8886: ---------------------------------------------------------------------------------------------------
8887: -- 4262811a Switch Sign
8888: ---------------------------------------------------------------------------------------------------
8889: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8886: ---------------------------------------------------------------------------------------------------
8887: -- 4262811a Switch Sign
8888: ---------------------------------------------------------------------------------------------------
8889: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8887: -- 4262811a Switch Sign
8888: ---------------------------------------------------------------------------------------------------
8889: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8895: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8888: ---------------------------------------------------------------------------------------------------
8889: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8895: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8896: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8889: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8895: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8896: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8897:
8891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8895: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8896: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8897:
8898: END IF;
8899:
8892: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8893: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8894: -- 5132302
8895: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8896: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8897:
8898: END IF;
8899:
8900: -- 4955764
8897:
8898: END IF;
8899:
8900: -- 4955764
8901: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8902: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8903:
8904:
8905: XLA_AE_LINES_PKG.ValidateCurrentLine;
8901: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8902: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8903:
8904:
8905: XLA_AE_LINES_PKG.ValidateCurrentLine;
8906: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8907:
8908: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8909: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8902: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8903:
8904:
8905: XLA_AE_LINES_PKG.ValidateCurrentLine;
8906: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8907:
8908: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8909: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8910: ,p_balance_type_code => l_balance_type_code);
9038: --
9039: -- bulk performance
9040: --
9041: l_balance_type_code VARCHAR2(1);
9042: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9043: l_log_module VARCHAR2(240);
9044:
9045: --
9046: -- Upgrade strategy
9106: ') = 'LEASE_CREDIT'
9107: THEN
9108:
9109: --
9110: XLA_AE_LINES_PKG.SetNewLine;
9111:
9112: p_balance_type_code := l_balance_type_code;
9113: -- set the flag so later we will know whether the gain loss line needs to be created
9114:
9118:
9119: --
9120: -- bulk performance
9121: --
9122: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9123: p_header_num => 0); -- 4262811
9124: --
9125: -- set accounting line options
9126: --
9123: p_header_num => 0); -- 4262811
9124: --
9125: -- set accounting line options
9126: --
9127: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9128: p_natural_side_code => 'C'
9129: , p_gain_or_loss_flag => 'N'
9130: , p_gl_transfer_mode_code => 'S'
9131: , p_acct_entry_type_code => 'A'
9137: --
9138: --
9139: -- set accounting line type info
9140: --
9141: xla_ae_lines_pkg.SetAcctLineType
9142: (p_component_type => l_component_type
9143: ,p_event_type_code => l_event_type_code
9144: ,p_line_definition_owner_code => l_line_definition_owner_code
9145: ,p_line_definition_code => l_line_definition_code
9151: ,p_event_class_code => l_event_class_code);
9152: --
9153: -- set accounting class
9154: --
9155: xla_ae_lines_pkg.SetAcctClass(
9156: p_accounting_class_code => 'RECEIPT_APPLICATION'
9157: , p_ae_header_id => l_ae_header_id
9158: );
9159:
9159:
9160: --
9161: -- set rounding class
9162: --
9163: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9164: 'RECEIPT_APPLICATION';
9165:
9166: --
9167: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9163: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9164: 'RECEIPT_APPLICATION';
9165:
9166: --
9167: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9168: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9169: --
9170: -- bulk performance
9171: --
9164: 'RECEIPT_APPLICATION';
9165:
9166: --
9167: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9168: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9169: --
9170: -- bulk performance
9171: --
9172: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9168: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9169: --
9170: -- bulk performance
9171: --
9172: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9173:
9174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9175: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9176:
9170: -- bulk performance
9171: --
9172: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9173:
9174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9175: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9176:
9177: -- 4955764
9178: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9174: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9175: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9176:
9177: -- 4955764
9178: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9179: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9180:
9181: -- 4458381 Public Sector Enh
9182:
9200: l_rec_acct_attrs.array_num_value(6) := p_source_12;
9201: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
9202: l_rec_acct_attrs.array_char_value(7) := p_source_13;
9203:
9204: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9205: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9206:
9207: ---------------------------------------------------------------------------------------------------------------
9208: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9201: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
9202: l_rec_acct_attrs.array_char_value(7) := p_source_13;
9203:
9204: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9205: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9206:
9207: ---------------------------------------------------------------------------------------------------------------
9208: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9209: ---------------------------------------------------------------------------------------------------------------
9204: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9205: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9206:
9207: ---------------------------------------------------------------------------------------------------------------
9208: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9209: ---------------------------------------------------------------------------------------------------------------
9210: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9211:
9212: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9206:
9207: ---------------------------------------------------------------------------------------------------------------
9208: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9209: ---------------------------------------------------------------------------------------------------------------
9210: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9211:
9212: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9213: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9214:
9208: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9209: ---------------------------------------------------------------------------------------------------------------
9210: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9211:
9212: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9213: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9214:
9215: IF xla_accounting_cache_pkg.GetValueChar
9216: (p_source_code => 'LEDGER_CATEGORY_CODE'
9209: ---------------------------------------------------------------------------------------------------------------
9210: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9211:
9212: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9213: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9214:
9215: IF xla_accounting_cache_pkg.GetValueChar
9216: (p_source_code => 'LEDGER_CATEGORY_CODE'
9217: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9220: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9221: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9222: )
9223: THEN
9224: xla_ae_lines_pkg.BflowUpgEntry
9225: (p_business_method_code => l_bflow_method_code
9226: ,p_business_class_code => l_bflow_class_code
9227: ,p_balance_type => l_balance_type_code);
9228: ELSE
9237: --
9238: -- call description
9239: --
9240:
9241: xla_ae_lines_pkg.SetLineDescription(
9242: p_ae_header_id => l_ae_header_id
9243: ,p_description => Description_1 (
9244: p_application_id => p_application_id
9245: , p_ae_header_id => l_ae_header_id
9271: , x_value_type_code => l_adr_value_type_code
9272: , p_side => 'NA'
9273: );
9274:
9275: xla_ae_lines_pkg.set_ccid(
9276: p_code_combination_id => l_ccid
9277: , p_value_type_code => l_adr_value_type_code
9278: , p_transaction_coa_id => l_adr_transaction_coa_id
9279: , p_accounting_coa_id => l_adr_accounting_coa_id
9307: xla_accounting_err_pkg.build_message
9308: (p_appli_s_name => 'XLA'
9309: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9310: ,p_token_1 => 'LINE_NUMBER'
9311: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9312: ,p_token_2 => 'LINE_TYPE_NAME'
9313: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9314: l_component_type
9315: ,l_component_code
9343: --
9344: --
9345: ------------------------------------------------------------------------------------------------
9346: -- 4219869 Business Flow
9347: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9348: -- Prior Entry. Currently, the following code is always generated.
9349: ------------------------------------------------------------------------------------------------
9350: XLA_AE_LINES_PKG.ValidateCurrentLine;
9351:
9346: -- 4219869 Business Flow
9347: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9348: -- Prior Entry. Currently, the following code is always generated.
9349: ------------------------------------------------------------------------------------------------
9350: XLA_AE_LINES_PKG.ValidateCurrentLine;
9351:
9352: ------------------------------------------------------------------------------------
9353: -- 4219869 Business Flow
9354: -- Populated credit and debit amounts -- Need to generate this within IF
9352: ------------------------------------------------------------------------------------
9353: -- 4219869 Business Flow
9354: -- Populated credit and debit amounts -- Need to generate this within IF
9355: ------------------------------------------------------------------------------------
9356: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9357:
9358: ----------------------------------------------------------------------------------
9359: -- 4219869 Business Flow
9360: -- Update journal entry status -- Need to generate this within IF
9384: -- To allow MPA report to determine if it should generate report process
9385: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9386: ------------------------------------------------------------------------------------------
9387:
9388: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9389: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9390:
9391: --
9392: -- Update the line information that should be overwritten
9385: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9386: ------------------------------------------------------------------------------------------
9387:
9388: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9389: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9390:
9391: --
9392: -- Update the line information that should be overwritten
9393: --
9390:
9391: --
9392: -- Update the line information that should be overwritten
9393: --
9394: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9395: p_header_num => 1);
9396: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9397:
9398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9392: -- Update the line information that should be overwritten
9393: --
9394: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9395: p_header_num => 1);
9396: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9397:
9398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9399:
9400: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9394: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9395: p_header_num => 1);
9396: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9397:
9398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9399:
9400: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9401: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9402: END IF;
9397:
9398: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9399:
9400: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9401: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9402: END IF;
9403:
9404: --
9405: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9404: --
9405: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9406: --
9407: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9408: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9409: ELSE
9410: ---------------------------------------------------------------------------------------------------
9411: -- 4262811a Switch Sign
9412: ---------------------------------------------------------------------------------------------------
9409: ELSE
9410: ---------------------------------------------------------------------------------------------------
9411: -- 4262811a Switch Sign
9412: ---------------------------------------------------------------------------------------------------
9413: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9410: ---------------------------------------------------------------------------------------------------
9411: -- 4262811a Switch Sign
9412: ---------------------------------------------------------------------------------------------------
9413: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9411: -- 4262811a Switch Sign
9412: ---------------------------------------------------------------------------------------------------
9413: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9419: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9412: ---------------------------------------------------------------------------------------------------
9413: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9419: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9420: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9413: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9419: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9420: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9421:
9415: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9419: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9420: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9421:
9422: END IF;
9423:
9416: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9417: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9418: -- 5132302
9419: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9420: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9421:
9422: END IF;
9423:
9424: -- 4955764
9421:
9422: END IF;
9423:
9424: -- 4955764
9425: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9426: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9427:
9428:
9429: XLA_AE_LINES_PKG.ValidateCurrentLine;
9425: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9426: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9427:
9428:
9429: XLA_AE_LINES_PKG.ValidateCurrentLine;
9430: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9431:
9432: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9433: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9426: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9427:
9428:
9429: XLA_AE_LINES_PKG.ValidateCurrentLine;
9430: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9431:
9432: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9433: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9434: ,p_balance_type_code => l_balance_type_code);
9562: --
9563: -- bulk performance
9564: --
9565: l_balance_type_code VARCHAR2(1);
9566: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9567: l_log_module VARCHAR2(240);
9568:
9569: --
9570: -- Upgrade strategy
9630: ') = 'LEASE_DEBIT'
9631: THEN
9632:
9633: --
9634: XLA_AE_LINES_PKG.SetNewLine;
9635:
9636: p_balance_type_code := l_balance_type_code;
9637: -- set the flag so later we will know whether the gain loss line needs to be created
9638:
9642:
9643: --
9644: -- bulk performance
9645: --
9646: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9647: p_header_num => 0); -- 4262811
9648: --
9649: -- set accounting line options
9650: --
9647: p_header_num => 0); -- 4262811
9648: --
9649: -- set accounting line options
9650: --
9651: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9652: p_natural_side_code => 'D'
9653: , p_gain_or_loss_flag => 'N'
9654: , p_gl_transfer_mode_code => 'S'
9655: , p_acct_entry_type_code => 'A'
9661: --
9662: --
9663: -- set accounting line type info
9664: --
9665: xla_ae_lines_pkg.SetAcctLineType
9666: (p_component_type => l_component_type
9667: ,p_event_type_code => l_event_type_code
9668: ,p_line_definition_owner_code => l_line_definition_owner_code
9669: ,p_line_definition_code => l_line_definition_code
9675: ,p_event_class_code => l_event_class_code);
9676: --
9677: -- set accounting class
9678: --
9679: xla_ae_lines_pkg.SetAcctClass(
9680: p_accounting_class_code => 'RECEIPT_APPLICATION'
9681: , p_ae_header_id => l_ae_header_id
9682: );
9683:
9683:
9684: --
9685: -- set rounding class
9686: --
9687: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9688: 'RECEIPT_APPLICATION';
9689:
9690: --
9691: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9687: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9688: 'RECEIPT_APPLICATION';
9689:
9690: --
9691: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9692: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9693: --
9694: -- bulk performance
9695: --
9688: 'RECEIPT_APPLICATION';
9689:
9690: --
9691: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9692: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9693: --
9694: -- bulk performance
9695: --
9696: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9692: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9693: --
9694: -- bulk performance
9695: --
9696: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9697:
9698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9699: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9700:
9694: -- bulk performance
9695: --
9696: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9697:
9698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9699: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9700:
9701: -- 4955764
9702: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9698: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9699: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9700:
9701: -- 4955764
9702: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9703: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9704:
9705: -- 4458381 Public Sector Enh
9706:
9724: l_rec_acct_attrs.array_num_value(6) := p_source_12;
9725: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
9726: l_rec_acct_attrs.array_char_value(7) := p_source_13;
9727:
9728: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9729: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9730:
9731: ---------------------------------------------------------------------------------------------------------------
9732: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9725: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
9726: l_rec_acct_attrs.array_char_value(7) := p_source_13;
9727:
9728: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9729: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9730:
9731: ---------------------------------------------------------------------------------------------------------------
9732: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9733: ---------------------------------------------------------------------------------------------------------------
9728: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9729: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9730:
9731: ---------------------------------------------------------------------------------------------------------------
9732: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9733: ---------------------------------------------------------------------------------------------------------------
9734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9735:
9736: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9730:
9731: ---------------------------------------------------------------------------------------------------------------
9732: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9733: ---------------------------------------------------------------------------------------------------------------
9734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9735:
9736: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9737: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9738:
9732: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9733: ---------------------------------------------------------------------------------------------------------------
9734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9735:
9736: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9737: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9738:
9739: IF xla_accounting_cache_pkg.GetValueChar
9740: (p_source_code => 'LEDGER_CATEGORY_CODE'
9733: ---------------------------------------------------------------------------------------------------------------
9734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9735:
9736: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9737: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9738:
9739: IF xla_accounting_cache_pkg.GetValueChar
9740: (p_source_code => 'LEDGER_CATEGORY_CODE'
9741: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9744: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9745: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9746: )
9747: THEN
9748: xla_ae_lines_pkg.BflowUpgEntry
9749: (p_business_method_code => l_bflow_method_code
9750: ,p_business_class_code => l_bflow_class_code
9751: ,p_balance_type => l_balance_type_code);
9752: ELSE
9761: --
9762: -- call description
9763: --
9764:
9765: xla_ae_lines_pkg.SetLineDescription(
9766: p_ae_header_id => l_ae_header_id
9767: ,p_description => Description_1 (
9768: p_application_id => p_application_id
9769: , p_ae_header_id => l_ae_header_id
9795: , x_value_type_code => l_adr_value_type_code
9796: , p_side => 'NA'
9797: );
9798:
9799: xla_ae_lines_pkg.set_ccid(
9800: p_code_combination_id => l_ccid
9801: , p_value_type_code => l_adr_value_type_code
9802: , p_transaction_coa_id => l_adr_transaction_coa_id
9803: , p_accounting_coa_id => l_adr_accounting_coa_id
9831: xla_accounting_err_pkg.build_message
9832: (p_appli_s_name => 'XLA'
9833: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9834: ,p_token_1 => 'LINE_NUMBER'
9835: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9836: ,p_token_2 => 'LINE_TYPE_NAME'
9837: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9838: l_component_type
9839: ,l_component_code
9867: --
9868: --
9869: ------------------------------------------------------------------------------------------------
9870: -- 4219869 Business Flow
9871: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9872: -- Prior Entry. Currently, the following code is always generated.
9873: ------------------------------------------------------------------------------------------------
9874: XLA_AE_LINES_PKG.ValidateCurrentLine;
9875:
9870: -- 4219869 Business Flow
9871: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9872: -- Prior Entry. Currently, the following code is always generated.
9873: ------------------------------------------------------------------------------------------------
9874: XLA_AE_LINES_PKG.ValidateCurrentLine;
9875:
9876: ------------------------------------------------------------------------------------
9877: -- 4219869 Business Flow
9878: -- Populated credit and debit amounts -- Need to generate this within IF
9876: ------------------------------------------------------------------------------------
9877: -- 4219869 Business Flow
9878: -- Populated credit and debit amounts -- Need to generate this within IF
9879: ------------------------------------------------------------------------------------
9880: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9881:
9882: ----------------------------------------------------------------------------------
9883: -- 4219869 Business Flow
9884: -- Update journal entry status -- Need to generate this within IF
9908: -- To allow MPA report to determine if it should generate report process
9909: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9910: ------------------------------------------------------------------------------------------
9911:
9912: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9913: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9914:
9915: --
9916: -- Update the line information that should be overwritten
9909: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9910: ------------------------------------------------------------------------------------------
9911:
9912: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9913: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9914:
9915: --
9916: -- Update the line information that should be overwritten
9917: --
9914:
9915: --
9916: -- Update the line information that should be overwritten
9917: --
9918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9919: p_header_num => 1);
9920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9921:
9922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9916: -- Update the line information that should be overwritten
9917: --
9918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9919: p_header_num => 1);
9920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9921:
9922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9923:
9924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9919: p_header_num => 1);
9920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9921:
9922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9923:
9924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9925: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9926: END IF;
9921:
9922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9923:
9924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9925: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9926: END IF;
9927:
9928: --
9929: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9928: --
9929: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9930: --
9931: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9932: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9933: ELSE
9934: ---------------------------------------------------------------------------------------------------
9935: -- 4262811a Switch Sign
9936: ---------------------------------------------------------------------------------------------------
9933: ELSE
9934: ---------------------------------------------------------------------------------------------------
9935: -- 4262811a Switch Sign
9936: ---------------------------------------------------------------------------------------------------
9937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9934: ---------------------------------------------------------------------------------------------------
9935: -- 4262811a Switch Sign
9936: ---------------------------------------------------------------------------------------------------
9937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9935: -- 4262811a Switch Sign
9936: ---------------------------------------------------------------------------------------------------
9937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9936: ---------------------------------------------------------------------------------------------------
9937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9945:
9939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9945:
9946: END IF;
9947:
9940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9942: -- 5132302
9943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9945:
9946: END IF;
9947:
9948: -- 4955764
9945:
9946: END IF;
9947:
9948: -- 4955764
9949: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9951:
9952:
9953: XLA_AE_LINES_PKG.ValidateCurrentLine;
9949: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9951:
9952:
9953: XLA_AE_LINES_PKG.ValidateCurrentLine;
9954: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9955:
9956: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9957: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9951:
9952:
9953: XLA_AE_LINES_PKG.ValidateCurrentLine;
9954: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9955:
9956: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9957: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9958: ,p_balance_type_code => l_balance_type_code);
10086: --
10087: -- bulk performance
10088: --
10089: l_balance_type_code VARCHAR2(1);
10090: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10091: l_log_module VARCHAR2(240);
10092:
10093: --
10094: -- Upgrade strategy
10154: ') = 'LEASE_CREDIT'
10155: THEN
10156:
10157: --
10158: XLA_AE_LINES_PKG.SetNewLine;
10159:
10160: p_balance_type_code := l_balance_type_code;
10161: -- set the flag so later we will know whether the gain loss line needs to be created
10162:
10166:
10167: --
10168: -- bulk performance
10169: --
10170: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10171: p_header_num => 0); -- 4262811
10172: --
10173: -- set accounting line options
10174: --
10171: p_header_num => 0); -- 4262811
10172: --
10173: -- set accounting line options
10174: --
10175: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10176: p_natural_side_code => 'C'
10177: , p_gain_or_loss_flag => 'N'
10178: , p_gl_transfer_mode_code => 'S'
10179: , p_acct_entry_type_code => 'A'
10185: --
10186: --
10187: -- set accounting line type info
10188: --
10189: xla_ae_lines_pkg.SetAcctLineType
10190: (p_component_type => l_component_type
10191: ,p_event_type_code => l_event_type_code
10192: ,p_line_definition_owner_code => l_line_definition_owner_code
10193: ,p_line_definition_code => l_line_definition_code
10199: ,p_event_class_code => l_event_class_code);
10200: --
10201: -- set accounting class
10202: --
10203: xla_ae_lines_pkg.SetAcctClass(
10204: p_accounting_class_code => 'RELEASE'
10205: , p_ae_header_id => l_ae_header_id
10206: );
10207:
10207:
10208: --
10209: -- set rounding class
10210: --
10211: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10212: 'RELEASE';
10213:
10214: --
10215: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10211: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10212: 'RELEASE';
10213:
10214: --
10215: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10216: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10217: --
10218: -- bulk performance
10219: --
10212: 'RELEASE';
10213:
10214: --
10215: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10216: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10217: --
10218: -- bulk performance
10219: --
10220: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10216: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10217: --
10218: -- bulk performance
10219: --
10220: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10221:
10222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10223: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10224:
10218: -- bulk performance
10219: --
10220: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10221:
10222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10223: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10224:
10225: -- 4955764
10226: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10223: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10224:
10225: -- 4955764
10226: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10227: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10228:
10229: -- 4458381 Public Sector Enh
10230:
10248: l_rec_acct_attrs.array_num_value(6) := p_source_12;
10249: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
10250: l_rec_acct_attrs.array_char_value(7) := p_source_13;
10251:
10252: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10253: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10254:
10255: ---------------------------------------------------------------------------------------------------------------
10256: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10249: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
10250: l_rec_acct_attrs.array_char_value(7) := p_source_13;
10251:
10252: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10253: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10254:
10255: ---------------------------------------------------------------------------------------------------------------
10256: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10257: ---------------------------------------------------------------------------------------------------------------
10252: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10253: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10254:
10255: ---------------------------------------------------------------------------------------------------------------
10256: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10257: ---------------------------------------------------------------------------------------------------------------
10258: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10259:
10260: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10254:
10255: ---------------------------------------------------------------------------------------------------------------
10256: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10257: ---------------------------------------------------------------------------------------------------------------
10258: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10259:
10260: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10261: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10262:
10256: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10257: ---------------------------------------------------------------------------------------------------------------
10258: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10259:
10260: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10261: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10262:
10263: IF xla_accounting_cache_pkg.GetValueChar
10264: (p_source_code => 'LEDGER_CATEGORY_CODE'
10257: ---------------------------------------------------------------------------------------------------------------
10258: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10259:
10260: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10261: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10262:
10263: IF xla_accounting_cache_pkg.GetValueChar
10264: (p_source_code => 'LEDGER_CATEGORY_CODE'
10265: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10268: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10269: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10270: )
10271: THEN
10272: xla_ae_lines_pkg.BflowUpgEntry
10273: (p_business_method_code => l_bflow_method_code
10274: ,p_business_class_code => l_bflow_class_code
10275: ,p_balance_type => l_balance_type_code);
10276: ELSE
10285: --
10286: -- call description
10287: --
10288:
10289: xla_ae_lines_pkg.SetLineDescription(
10290: p_ae_header_id => l_ae_header_id
10291: ,p_description => Description_1 (
10292: p_application_id => p_application_id
10293: , p_ae_header_id => l_ae_header_id
10319: , x_value_type_code => l_adr_value_type_code
10320: , p_side => 'NA'
10321: );
10322:
10323: xla_ae_lines_pkg.set_ccid(
10324: p_code_combination_id => l_ccid
10325: , p_value_type_code => l_adr_value_type_code
10326: , p_transaction_coa_id => l_adr_transaction_coa_id
10327: , p_accounting_coa_id => l_adr_accounting_coa_id
10355: xla_accounting_err_pkg.build_message
10356: (p_appli_s_name => 'XLA'
10357: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10358: ,p_token_1 => 'LINE_NUMBER'
10359: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10360: ,p_token_2 => 'LINE_TYPE_NAME'
10361: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10362: l_component_type
10363: ,l_component_code
10391: --
10392: --
10393: ------------------------------------------------------------------------------------------------
10394: -- 4219869 Business Flow
10395: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10396: -- Prior Entry. Currently, the following code is always generated.
10397: ------------------------------------------------------------------------------------------------
10398: XLA_AE_LINES_PKG.ValidateCurrentLine;
10399:
10394: -- 4219869 Business Flow
10395: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10396: -- Prior Entry. Currently, the following code is always generated.
10397: ------------------------------------------------------------------------------------------------
10398: XLA_AE_LINES_PKG.ValidateCurrentLine;
10399:
10400: ------------------------------------------------------------------------------------
10401: -- 4219869 Business Flow
10402: -- Populated credit and debit amounts -- Need to generate this within IF
10400: ------------------------------------------------------------------------------------
10401: -- 4219869 Business Flow
10402: -- Populated credit and debit amounts -- Need to generate this within IF
10403: ------------------------------------------------------------------------------------
10404: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10405:
10406: ----------------------------------------------------------------------------------
10407: -- 4219869 Business Flow
10408: -- Update journal entry status -- Need to generate this within IF
10432: -- To allow MPA report to determine if it should generate report process
10433: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10434: ------------------------------------------------------------------------------------------
10435:
10436: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10437: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10438:
10439: --
10440: -- Update the line information that should be overwritten
10433: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10434: ------------------------------------------------------------------------------------------
10435:
10436: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10437: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10438:
10439: --
10440: -- Update the line information that should be overwritten
10441: --
10438:
10439: --
10440: -- Update the line information that should be overwritten
10441: --
10442: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10443: p_header_num => 1);
10444: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10445:
10446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10440: -- Update the line information that should be overwritten
10441: --
10442: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10443: p_header_num => 1);
10444: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10445:
10446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10447:
10448: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10442: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10443: p_header_num => 1);
10444: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10445:
10446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10447:
10448: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10449: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10450: END IF;
10445:
10446: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10447:
10448: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10449: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10450: END IF;
10451:
10452: --
10453: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10452: --
10453: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10454: --
10455: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10456: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10457: ELSE
10458: ---------------------------------------------------------------------------------------------------
10459: -- 4262811a Switch Sign
10460: ---------------------------------------------------------------------------------------------------
10457: ELSE
10458: ---------------------------------------------------------------------------------------------------
10459: -- 4262811a Switch Sign
10460: ---------------------------------------------------------------------------------------------------
10461: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10462: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10458: ---------------------------------------------------------------------------------------------------
10459: -- 4262811a Switch Sign
10460: ---------------------------------------------------------------------------------------------------
10461: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10462: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10459: -- 4262811a Switch Sign
10460: ---------------------------------------------------------------------------------------------------
10461: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10462: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10467: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10460: ---------------------------------------------------------------------------------------------------
10461: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10462: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10467: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10461: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10462: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10467: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10469:
10463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10467: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10469:
10470: END IF;
10471:
10464: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10466: -- 5132302
10467: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10469:
10470: END IF;
10471:
10472: -- 4955764
10469:
10470: END IF;
10471:
10472: -- 4955764
10473: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10474: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10475:
10476:
10477: XLA_AE_LINES_PKG.ValidateCurrentLine;
10473: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10474: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10475:
10476:
10477: XLA_AE_LINES_PKG.ValidateCurrentLine;
10478: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10479:
10480: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10481: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10474: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10475:
10476:
10477: XLA_AE_LINES_PKG.ValidateCurrentLine;
10478: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10479:
10480: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10481: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10482: ,p_balance_type_code => l_balance_type_code);
10610: --
10611: -- bulk performance
10612: --
10613: l_balance_type_code VARCHAR2(1);
10614: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10615: l_log_module VARCHAR2(240);
10616:
10617: --
10618: -- Upgrade strategy
10678: ') = 'LEASE_DEBIT'
10679: THEN
10680:
10681: --
10682: XLA_AE_LINES_PKG.SetNewLine;
10683:
10684: p_balance_type_code := l_balance_type_code;
10685: -- set the flag so later we will know whether the gain loss line needs to be created
10686:
10690:
10691: --
10692: -- bulk performance
10693: --
10694: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10695: p_header_num => 0); -- 4262811
10696: --
10697: -- set accounting line options
10698: --
10695: p_header_num => 0); -- 4262811
10696: --
10697: -- set accounting line options
10698: --
10699: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10700: p_natural_side_code => 'D'
10701: , p_gain_or_loss_flag => 'N'
10702: , p_gl_transfer_mode_code => 'S'
10703: , p_acct_entry_type_code => 'A'
10709: --
10710: --
10711: -- set accounting line type info
10712: --
10713: xla_ae_lines_pkg.SetAcctLineType
10714: (p_component_type => l_component_type
10715: ,p_event_type_code => l_event_type_code
10716: ,p_line_definition_owner_code => l_line_definition_owner_code
10717: ,p_line_definition_code => l_line_definition_code
10723: ,p_event_class_code => l_event_class_code);
10724: --
10725: -- set accounting class
10726: --
10727: xla_ae_lines_pkg.SetAcctClass(
10728: p_accounting_class_code => 'RELEASE'
10729: , p_ae_header_id => l_ae_header_id
10730: );
10731:
10731:
10732: --
10733: -- set rounding class
10734: --
10735: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10736: 'RELEASE';
10737:
10738: --
10739: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10735: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10736: 'RELEASE';
10737:
10738: --
10739: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10740: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10741: --
10742: -- bulk performance
10743: --
10736: 'RELEASE';
10737:
10738: --
10739: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10740: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10741: --
10742: -- bulk performance
10743: --
10744: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10740: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10741: --
10742: -- bulk performance
10743: --
10744: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10745:
10746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10747: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10748:
10742: -- bulk performance
10743: --
10744: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10745:
10746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10747: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10748:
10749: -- 4955764
10750: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10746: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10747: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10748:
10749: -- 4955764
10750: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10751: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10752:
10753: -- 4458381 Public Sector Enh
10754:
10772: l_rec_acct_attrs.array_num_value(6) := p_source_12;
10773: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
10774: l_rec_acct_attrs.array_char_value(7) := p_source_13;
10775:
10776: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10777: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10778:
10779: ---------------------------------------------------------------------------------------------------------------
10780: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10773: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
10774: l_rec_acct_attrs.array_char_value(7) := p_source_13;
10775:
10776: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10777: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10778:
10779: ---------------------------------------------------------------------------------------------------------------
10780: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10781: ---------------------------------------------------------------------------------------------------------------
10776: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10777: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10778:
10779: ---------------------------------------------------------------------------------------------------------------
10780: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10781: ---------------------------------------------------------------------------------------------------------------
10782: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10783:
10784: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10778:
10779: ---------------------------------------------------------------------------------------------------------------
10780: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10781: ---------------------------------------------------------------------------------------------------------------
10782: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10783:
10784: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10785: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10786:
10780: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10781: ---------------------------------------------------------------------------------------------------------------
10782: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10783:
10784: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10785: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10786:
10787: IF xla_accounting_cache_pkg.GetValueChar
10788: (p_source_code => 'LEDGER_CATEGORY_CODE'
10781: ---------------------------------------------------------------------------------------------------------------
10782: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10783:
10784: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10785: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10786:
10787: IF xla_accounting_cache_pkg.GetValueChar
10788: (p_source_code => 'LEDGER_CATEGORY_CODE'
10789: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10792: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10793: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10794: )
10795: THEN
10796: xla_ae_lines_pkg.BflowUpgEntry
10797: (p_business_method_code => l_bflow_method_code
10798: ,p_business_class_code => l_bflow_class_code
10799: ,p_balance_type => l_balance_type_code);
10800: ELSE
10809: --
10810: -- call description
10811: --
10812:
10813: xla_ae_lines_pkg.SetLineDescription(
10814: p_ae_header_id => l_ae_header_id
10815: ,p_description => Description_1 (
10816: p_application_id => p_application_id
10817: , p_ae_header_id => l_ae_header_id
10843: , x_value_type_code => l_adr_value_type_code
10844: , p_side => 'NA'
10845: );
10846:
10847: xla_ae_lines_pkg.set_ccid(
10848: p_code_combination_id => l_ccid
10849: , p_value_type_code => l_adr_value_type_code
10850: , p_transaction_coa_id => l_adr_transaction_coa_id
10851: , p_accounting_coa_id => l_adr_accounting_coa_id
10879: xla_accounting_err_pkg.build_message
10880: (p_appli_s_name => 'XLA'
10881: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10882: ,p_token_1 => 'LINE_NUMBER'
10883: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10884: ,p_token_2 => 'LINE_TYPE_NAME'
10885: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10886: l_component_type
10887: ,l_component_code
10915: --
10916: --
10917: ------------------------------------------------------------------------------------------------
10918: -- 4219869 Business Flow
10919: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10920: -- Prior Entry. Currently, the following code is always generated.
10921: ------------------------------------------------------------------------------------------------
10922: XLA_AE_LINES_PKG.ValidateCurrentLine;
10923:
10918: -- 4219869 Business Flow
10919: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10920: -- Prior Entry. Currently, the following code is always generated.
10921: ------------------------------------------------------------------------------------------------
10922: XLA_AE_LINES_PKG.ValidateCurrentLine;
10923:
10924: ------------------------------------------------------------------------------------
10925: -- 4219869 Business Flow
10926: -- Populated credit and debit amounts -- Need to generate this within IF
10924: ------------------------------------------------------------------------------------
10925: -- 4219869 Business Flow
10926: -- Populated credit and debit amounts -- Need to generate this within IF
10927: ------------------------------------------------------------------------------------
10928: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10929:
10930: ----------------------------------------------------------------------------------
10931: -- 4219869 Business Flow
10932: -- Update journal entry status -- Need to generate this within IF
10956: -- To allow MPA report to determine if it should generate report process
10957: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10958: ------------------------------------------------------------------------------------------
10959:
10960: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10961: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10962:
10963: --
10964: -- Update the line information that should be overwritten
10957: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10958: ------------------------------------------------------------------------------------------
10959:
10960: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10961: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10962:
10963: --
10964: -- Update the line information that should be overwritten
10965: --
10962:
10963: --
10964: -- Update the line information that should be overwritten
10965: --
10966: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10967: p_header_num => 1);
10968: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10969:
10970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10964: -- Update the line information that should be overwritten
10965: --
10966: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10967: p_header_num => 1);
10968: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10969:
10970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10971:
10972: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10966: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10967: p_header_num => 1);
10968: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10969:
10970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10971:
10972: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10973: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10974: END IF;
10969:
10970: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10971:
10972: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10973: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10974: END IF;
10975:
10976: --
10977: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10976: --
10977: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10978: --
10979: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10980: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10981: ELSE
10982: ---------------------------------------------------------------------------------------------------
10983: -- 4262811a Switch Sign
10984: ---------------------------------------------------------------------------------------------------
10981: ELSE
10982: ---------------------------------------------------------------------------------------------------
10983: -- 4262811a Switch Sign
10984: ---------------------------------------------------------------------------------------------------
10985: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10982: ---------------------------------------------------------------------------------------------------
10983: -- 4262811a Switch Sign
10984: ---------------------------------------------------------------------------------------------------
10985: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10983: -- 4262811a Switch Sign
10984: ---------------------------------------------------------------------------------------------------
10985: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10984: ---------------------------------------------------------------------------------------------------
10985: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10992: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10985: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10992: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10993:
10987: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10992: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10993:
10994: END IF;
10995:
10988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10989: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10990: -- 5132302
10991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10992: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10993:
10994: END IF;
10995:
10996: -- 4955764
10993:
10994: END IF;
10995:
10996: -- 4955764
10997: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10998: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10999:
11000:
11001: XLA_AE_LINES_PKG.ValidateCurrentLine;
10997: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10998: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10999:
11000:
11001: XLA_AE_LINES_PKG.ValidateCurrentLine;
11002: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11003:
11004: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11005: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10998: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10999:
11000:
11001: XLA_AE_LINES_PKG.ValidateCurrentLine;
11002: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11003:
11004: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11005: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11006: ,p_balance_type_code => l_balance_type_code);
11134: --
11135: -- bulk performance
11136: --
11137: l_balance_type_code VARCHAR2(1);
11138: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11139: l_log_module VARCHAR2(240);
11140:
11141: --
11142: -- Upgrade strategy
11202: ') = 'LEASE_CREDIT'
11203: THEN
11204:
11205: --
11206: XLA_AE_LINES_PKG.SetNewLine;
11207:
11208: p_balance_type_code := l_balance_type_code;
11209: -- set the flag so later we will know whether the gain loss line needs to be created
11210:
11214:
11215: --
11216: -- bulk performance
11217: --
11218: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11219: p_header_num => 0); -- 4262811
11220: --
11221: -- set accounting line options
11222: --
11219: p_header_num => 0); -- 4262811
11220: --
11221: -- set accounting line options
11222: --
11223: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11224: p_natural_side_code => 'C'
11225: , p_gain_or_loss_flag => 'N'
11226: , p_gl_transfer_mode_code => 'S'
11227: , p_acct_entry_type_code => 'A'
11233: --
11234: --
11235: -- set accounting line type info
11236: --
11237: xla_ae_lines_pkg.SetAcctLineType
11238: (p_component_type => l_component_type
11239: ,p_event_type_code => l_event_type_code
11240: ,p_line_definition_owner_code => l_line_definition_owner_code
11241: ,p_line_definition_code => l_line_definition_code
11247: ,p_event_class_code => l_event_class_code);
11248: --
11249: -- set accounting class
11250: --
11251: xla_ae_lines_pkg.SetAcctClass(
11252: p_accounting_class_code => 'SPECIFIC_LOSS_PROVISION'
11253: , p_ae_header_id => l_ae_header_id
11254: );
11255:
11255:
11256: --
11257: -- set rounding class
11258: --
11259: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11260: 'SPECIFIC_LOSS_PROVISION';
11261:
11262: --
11263: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11259: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11260: 'SPECIFIC_LOSS_PROVISION';
11261:
11262: --
11263: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11264: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11265: --
11266: -- bulk performance
11267: --
11260: 'SPECIFIC_LOSS_PROVISION';
11261:
11262: --
11263: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11264: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11265: --
11266: -- bulk performance
11267: --
11268: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11264: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11265: --
11266: -- bulk performance
11267: --
11268: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11269:
11270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11271: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11272:
11266: -- bulk performance
11267: --
11268: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11269:
11270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11271: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11272:
11273: -- 4955764
11274: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11270: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11271: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11272:
11273: -- 4955764
11274: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11275: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11276:
11277: -- 4458381 Public Sector Enh
11278:
11296: l_rec_acct_attrs.array_num_value(6) := p_source_12;
11297: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
11298: l_rec_acct_attrs.array_char_value(7) := p_source_13;
11299:
11300: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11301: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11302:
11303: ---------------------------------------------------------------------------------------------------------------
11304: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11297: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
11298: l_rec_acct_attrs.array_char_value(7) := p_source_13;
11299:
11300: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11301: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11302:
11303: ---------------------------------------------------------------------------------------------------------------
11304: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11305: ---------------------------------------------------------------------------------------------------------------
11300: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11301: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11302:
11303: ---------------------------------------------------------------------------------------------------------------
11304: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11305: ---------------------------------------------------------------------------------------------------------------
11306: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11307:
11308: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11302:
11303: ---------------------------------------------------------------------------------------------------------------
11304: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11305: ---------------------------------------------------------------------------------------------------------------
11306: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11307:
11308: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11309: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11310:
11304: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11305: ---------------------------------------------------------------------------------------------------------------
11306: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11307:
11308: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11309: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11310:
11311: IF xla_accounting_cache_pkg.GetValueChar
11312: (p_source_code => 'LEDGER_CATEGORY_CODE'
11305: ---------------------------------------------------------------------------------------------------------------
11306: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11307:
11308: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11309: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11310:
11311: IF xla_accounting_cache_pkg.GetValueChar
11312: (p_source_code => 'LEDGER_CATEGORY_CODE'
11313: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11316: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11317: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11318: )
11319: THEN
11320: xla_ae_lines_pkg.BflowUpgEntry
11321: (p_business_method_code => l_bflow_method_code
11322: ,p_business_class_code => l_bflow_class_code
11323: ,p_balance_type => l_balance_type_code);
11324: ELSE
11333: --
11334: -- call description
11335: --
11336:
11337: xla_ae_lines_pkg.SetLineDescription(
11338: p_ae_header_id => l_ae_header_id
11339: ,p_description => Description_1 (
11340: p_application_id => p_application_id
11341: , p_ae_header_id => l_ae_header_id
11367: , x_value_type_code => l_adr_value_type_code
11368: , p_side => 'NA'
11369: );
11370:
11371: xla_ae_lines_pkg.set_ccid(
11372: p_code_combination_id => l_ccid
11373: , p_value_type_code => l_adr_value_type_code
11374: , p_transaction_coa_id => l_adr_transaction_coa_id
11375: , p_accounting_coa_id => l_adr_accounting_coa_id
11403: xla_accounting_err_pkg.build_message
11404: (p_appli_s_name => 'XLA'
11405: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11406: ,p_token_1 => 'LINE_NUMBER'
11407: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11408: ,p_token_2 => 'LINE_TYPE_NAME'
11409: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11410: l_component_type
11411: ,l_component_code
11439: --
11440: --
11441: ------------------------------------------------------------------------------------------------
11442: -- 4219869 Business Flow
11443: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11444: -- Prior Entry. Currently, the following code is always generated.
11445: ------------------------------------------------------------------------------------------------
11446: XLA_AE_LINES_PKG.ValidateCurrentLine;
11447:
11442: -- 4219869 Business Flow
11443: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11444: -- Prior Entry. Currently, the following code is always generated.
11445: ------------------------------------------------------------------------------------------------
11446: XLA_AE_LINES_PKG.ValidateCurrentLine;
11447:
11448: ------------------------------------------------------------------------------------
11449: -- 4219869 Business Flow
11450: -- Populated credit and debit amounts -- Need to generate this within IF
11448: ------------------------------------------------------------------------------------
11449: -- 4219869 Business Flow
11450: -- Populated credit and debit amounts -- Need to generate this within IF
11451: ------------------------------------------------------------------------------------
11452: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11453:
11454: ----------------------------------------------------------------------------------
11455: -- 4219869 Business Flow
11456: -- Update journal entry status -- Need to generate this within IF
11480: -- To allow MPA report to determine if it should generate report process
11481: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11482: ------------------------------------------------------------------------------------------
11483:
11484: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11485: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11486:
11487: --
11488: -- Update the line information that should be overwritten
11481: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11482: ------------------------------------------------------------------------------------------
11483:
11484: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11485: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11486:
11487: --
11488: -- Update the line information that should be overwritten
11489: --
11486:
11487: --
11488: -- Update the line information that should be overwritten
11489: --
11490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11491: p_header_num => 1);
11492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11493:
11494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11488: -- Update the line information that should be overwritten
11489: --
11490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11491: p_header_num => 1);
11492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11493:
11494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11495:
11496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11491: p_header_num => 1);
11492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11493:
11494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11495:
11496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11497: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11498: END IF;
11493:
11494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11495:
11496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11497: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11498: END IF;
11499:
11500: --
11501: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11500: --
11501: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11502: --
11503: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11504: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11505: ELSE
11506: ---------------------------------------------------------------------------------------------------
11507: -- 4262811a Switch Sign
11508: ---------------------------------------------------------------------------------------------------
11505: ELSE
11506: ---------------------------------------------------------------------------------------------------
11507: -- 4262811a Switch Sign
11508: ---------------------------------------------------------------------------------------------------
11509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11506: ---------------------------------------------------------------------------------------------------
11507: -- 4262811a Switch Sign
11508: ---------------------------------------------------------------------------------------------------
11509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11507: -- 4262811a Switch Sign
11508: ---------------------------------------------------------------------------------------------------
11509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11508: ---------------------------------------------------------------------------------------------------
11509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11517:
11511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11517:
11518: END IF;
11519:
11512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11514: -- 5132302
11515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11517:
11518: END IF;
11519:
11520: -- 4955764
11517:
11518: END IF;
11519:
11520: -- 4955764
11521: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11523:
11524:
11525: XLA_AE_LINES_PKG.ValidateCurrentLine;
11521: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11523:
11524:
11525: XLA_AE_LINES_PKG.ValidateCurrentLine;
11526: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11527:
11528: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11529: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11523:
11524:
11525: XLA_AE_LINES_PKG.ValidateCurrentLine;
11526: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11527:
11528: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11529: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11530: ,p_balance_type_code => l_balance_type_code);
11658: --
11659: -- bulk performance
11660: --
11661: l_balance_type_code VARCHAR2(1);
11662: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11663: l_log_module VARCHAR2(240);
11664:
11665: --
11666: -- Upgrade strategy
11726: ') = 'LEASE_DEBIT'
11727: THEN
11728:
11729: --
11730: XLA_AE_LINES_PKG.SetNewLine;
11731:
11732: p_balance_type_code := l_balance_type_code;
11733: -- set the flag so later we will know whether the gain loss line needs to be created
11734:
11738:
11739: --
11740: -- bulk performance
11741: --
11742: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11743: p_header_num => 0); -- 4262811
11744: --
11745: -- set accounting line options
11746: --
11743: p_header_num => 0); -- 4262811
11744: --
11745: -- set accounting line options
11746: --
11747: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11748: p_natural_side_code => 'D'
11749: , p_gain_or_loss_flag => 'N'
11750: , p_gl_transfer_mode_code => 'S'
11751: , p_acct_entry_type_code => 'A'
11757: --
11758: --
11759: -- set accounting line type info
11760: --
11761: xla_ae_lines_pkg.SetAcctLineType
11762: (p_component_type => l_component_type
11763: ,p_event_type_code => l_event_type_code
11764: ,p_line_definition_owner_code => l_line_definition_owner_code
11765: ,p_line_definition_code => l_line_definition_code
11771: ,p_event_class_code => l_event_class_code);
11772: --
11773: -- set accounting class
11774: --
11775: xla_ae_lines_pkg.SetAcctClass(
11776: p_accounting_class_code => 'SPECIFIC_LOSS_PROVISION'
11777: , p_ae_header_id => l_ae_header_id
11778: );
11779:
11779:
11780: --
11781: -- set rounding class
11782: --
11783: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11784: 'SPECIFIC_LOSS_PROVISION';
11785:
11786: --
11787: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11783: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11784: 'SPECIFIC_LOSS_PROVISION';
11785:
11786: --
11787: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11788: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11789: --
11790: -- bulk performance
11791: --
11784: 'SPECIFIC_LOSS_PROVISION';
11785:
11786: --
11787: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11788: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11789: --
11790: -- bulk performance
11791: --
11792: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11788: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11789: --
11790: -- bulk performance
11791: --
11792: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11793:
11794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11795: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11796:
11790: -- bulk performance
11791: --
11792: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11793:
11794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11795: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11796:
11797: -- 4955764
11798: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11794: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11795: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11796:
11797: -- 4955764
11798: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11799: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11800:
11801: -- 4458381 Public Sector Enh
11802:
11820: l_rec_acct_attrs.array_num_value(6) := p_source_12;
11821: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
11822: l_rec_acct_attrs.array_char_value(7) := p_source_13;
11823:
11824: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11825: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11826:
11827: ---------------------------------------------------------------------------------------------------------------
11828: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11821: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
11822: l_rec_acct_attrs.array_char_value(7) := p_source_13;
11823:
11824: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11825: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11826:
11827: ---------------------------------------------------------------------------------------------------------------
11828: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11829: ---------------------------------------------------------------------------------------------------------------
11824: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11825: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11826:
11827: ---------------------------------------------------------------------------------------------------------------
11828: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11829: ---------------------------------------------------------------------------------------------------------------
11830: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11831:
11832: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11826:
11827: ---------------------------------------------------------------------------------------------------------------
11828: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11829: ---------------------------------------------------------------------------------------------------------------
11830: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11831:
11832: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11833: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11834:
11828: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11829: ---------------------------------------------------------------------------------------------------------------
11830: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11831:
11832: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11833: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11834:
11835: IF xla_accounting_cache_pkg.GetValueChar
11836: (p_source_code => 'LEDGER_CATEGORY_CODE'
11829: ---------------------------------------------------------------------------------------------------------------
11830: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11831:
11832: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11833: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11834:
11835: IF xla_accounting_cache_pkg.GetValueChar
11836: (p_source_code => 'LEDGER_CATEGORY_CODE'
11837: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11840: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11841: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11842: )
11843: THEN
11844: xla_ae_lines_pkg.BflowUpgEntry
11845: (p_business_method_code => l_bflow_method_code
11846: ,p_business_class_code => l_bflow_class_code
11847: ,p_balance_type => l_balance_type_code);
11848: ELSE
11857: --
11858: -- call description
11859: --
11860:
11861: xla_ae_lines_pkg.SetLineDescription(
11862: p_ae_header_id => l_ae_header_id
11863: ,p_description => Description_1 (
11864: p_application_id => p_application_id
11865: , p_ae_header_id => l_ae_header_id
11891: , x_value_type_code => l_adr_value_type_code
11892: , p_side => 'NA'
11893: );
11894:
11895: xla_ae_lines_pkg.set_ccid(
11896: p_code_combination_id => l_ccid
11897: , p_value_type_code => l_adr_value_type_code
11898: , p_transaction_coa_id => l_adr_transaction_coa_id
11899: , p_accounting_coa_id => l_adr_accounting_coa_id
11927: xla_accounting_err_pkg.build_message
11928: (p_appli_s_name => 'XLA'
11929: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11930: ,p_token_1 => 'LINE_NUMBER'
11931: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11932: ,p_token_2 => 'LINE_TYPE_NAME'
11933: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11934: l_component_type
11935: ,l_component_code
11963: --
11964: --
11965: ------------------------------------------------------------------------------------------------
11966: -- 4219869 Business Flow
11967: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11968: -- Prior Entry. Currently, the following code is always generated.
11969: ------------------------------------------------------------------------------------------------
11970: XLA_AE_LINES_PKG.ValidateCurrentLine;
11971:
11966: -- 4219869 Business Flow
11967: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11968: -- Prior Entry. Currently, the following code is always generated.
11969: ------------------------------------------------------------------------------------------------
11970: XLA_AE_LINES_PKG.ValidateCurrentLine;
11971:
11972: ------------------------------------------------------------------------------------
11973: -- 4219869 Business Flow
11974: -- Populated credit and debit amounts -- Need to generate this within IF
11972: ------------------------------------------------------------------------------------
11973: -- 4219869 Business Flow
11974: -- Populated credit and debit amounts -- Need to generate this within IF
11975: ------------------------------------------------------------------------------------
11976: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11977:
11978: ----------------------------------------------------------------------------------
11979: -- 4219869 Business Flow
11980: -- Update journal entry status -- Need to generate this within IF
12004: -- To allow MPA report to determine if it should generate report process
12005: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12006: ------------------------------------------------------------------------------------------
12007:
12008: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12009: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12010:
12011: --
12012: -- Update the line information that should be overwritten
12005: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12006: ------------------------------------------------------------------------------------------
12007:
12008: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12009: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12010:
12011: --
12012: -- Update the line information that should be overwritten
12013: --
12010:
12011: --
12012: -- Update the line information that should be overwritten
12013: --
12014: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12015: p_header_num => 1);
12016: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12017:
12018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12012: -- Update the line information that should be overwritten
12013: --
12014: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12015: p_header_num => 1);
12016: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12017:
12018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12019:
12020: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12014: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12015: p_header_num => 1);
12016: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12017:
12018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12019:
12020: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12021: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12022: END IF;
12017:
12018: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12019:
12020: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12021: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12022: END IF;
12023:
12024: --
12025: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12024: --
12025: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12026: --
12027: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12028: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12029: ELSE
12030: ---------------------------------------------------------------------------------------------------
12031: -- 4262811a Switch Sign
12032: ---------------------------------------------------------------------------------------------------
12029: ELSE
12030: ---------------------------------------------------------------------------------------------------
12031: -- 4262811a Switch Sign
12032: ---------------------------------------------------------------------------------------------------
12033: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12034: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12030: ---------------------------------------------------------------------------------------------------
12031: -- 4262811a Switch Sign
12032: ---------------------------------------------------------------------------------------------------
12033: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12034: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12031: -- 4262811a Switch Sign
12032: ---------------------------------------------------------------------------------------------------
12033: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12034: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12039: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12032: ---------------------------------------------------------------------------------------------------
12033: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12034: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12039: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12040: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12033: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12034: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12039: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12040: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12041:
12035: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12039: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12040: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12041:
12042: END IF;
12043:
12036: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12037: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12038: -- 5132302
12039: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12040: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12041:
12042: END IF;
12043:
12044: -- 4955764
12041:
12042: END IF;
12043:
12044: -- 4955764
12045: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12046: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12047:
12048:
12049: XLA_AE_LINES_PKG.ValidateCurrentLine;
12045: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12046: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12047:
12048:
12049: XLA_AE_LINES_PKG.ValidateCurrentLine;
12050: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12051:
12052: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12053: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12046: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12047:
12048:
12049: XLA_AE_LINES_PKG.ValidateCurrentLine;
12050: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12051:
12052: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12053: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12054: ,p_balance_type_code => l_balance_type_code);
12182: --
12183: -- bulk performance
12184: --
12185: l_balance_type_code VARCHAR2(1);
12186: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12187: l_log_module VARCHAR2(240);
12188:
12189: --
12190: -- Upgrade strategy
12250: ') = 'LEASE_CREDIT'
12251: THEN
12252:
12253: --
12254: XLA_AE_LINES_PKG.SetNewLine;
12255:
12256: p_balance_type_code := l_balance_type_code;
12257: -- set the flag so later we will know whether the gain loss line needs to be created
12258:
12262:
12263: --
12264: -- bulk performance
12265: --
12266: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12267: p_header_num => 0); -- 4262811
12268: --
12269: -- set accounting line options
12270: --
12267: p_header_num => 0); -- 4262811
12268: --
12269: -- set accounting line options
12270: --
12271: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12272: p_natural_side_code => 'C'
12273: , p_gain_or_loss_flag => 'N'
12274: , p_gl_transfer_mode_code => 'S'
12275: , p_acct_entry_type_code => 'A'
12281: --
12282: --
12283: -- set accounting line type info
12284: --
12285: xla_ae_lines_pkg.SetAcctLineType
12286: (p_component_type => l_component_type
12287: ,p_event_type_code => l_event_type_code
12288: ,p_line_definition_owner_code => l_line_definition_owner_code
12289: ,p_line_definition_code => l_line_definition_code
12295: ,p_event_class_code => l_event_class_code);
12296: --
12297: -- set accounting class
12298: --
12299: xla_ae_lines_pkg.SetAcctClass(
12300: p_accounting_class_code => 'SPLIT_ASSET'
12301: , p_ae_header_id => l_ae_header_id
12302: );
12303:
12303:
12304: --
12305: -- set rounding class
12306: --
12307: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12308: 'SPLIT_ASSET';
12309:
12310: --
12311: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12307: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12308: 'SPLIT_ASSET';
12309:
12310: --
12311: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12312: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12313: --
12314: -- bulk performance
12315: --
12308: 'SPLIT_ASSET';
12309:
12310: --
12311: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12312: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12313: --
12314: -- bulk performance
12315: --
12316: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12312: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12313: --
12314: -- bulk performance
12315: --
12316: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12317:
12318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12319: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12320:
12314: -- bulk performance
12315: --
12316: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12317:
12318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12319: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12320:
12321: -- 4955764
12322: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12318: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12319: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12320:
12321: -- 4955764
12322: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12323: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12324:
12325: -- 4458381 Public Sector Enh
12326:
12344: l_rec_acct_attrs.array_num_value(6) := p_source_12;
12345: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
12346: l_rec_acct_attrs.array_char_value(7) := p_source_13;
12347:
12348: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12349: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12350:
12351: ---------------------------------------------------------------------------------------------------------------
12352: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12345: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
12346: l_rec_acct_attrs.array_char_value(7) := p_source_13;
12347:
12348: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12349: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12350:
12351: ---------------------------------------------------------------------------------------------------------------
12352: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12353: ---------------------------------------------------------------------------------------------------------------
12348: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12349: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12350:
12351: ---------------------------------------------------------------------------------------------------------------
12352: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12353: ---------------------------------------------------------------------------------------------------------------
12354: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12355:
12356: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12350:
12351: ---------------------------------------------------------------------------------------------------------------
12352: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12353: ---------------------------------------------------------------------------------------------------------------
12354: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12355:
12356: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12357: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12358:
12352: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12353: ---------------------------------------------------------------------------------------------------------------
12354: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12355:
12356: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12357: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12358:
12359: IF xla_accounting_cache_pkg.GetValueChar
12360: (p_source_code => 'LEDGER_CATEGORY_CODE'
12353: ---------------------------------------------------------------------------------------------------------------
12354: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12355:
12356: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12357: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12358:
12359: IF xla_accounting_cache_pkg.GetValueChar
12360: (p_source_code => 'LEDGER_CATEGORY_CODE'
12361: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12364: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12365: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12366: )
12367: THEN
12368: xla_ae_lines_pkg.BflowUpgEntry
12369: (p_business_method_code => l_bflow_method_code
12370: ,p_business_class_code => l_bflow_class_code
12371: ,p_balance_type => l_balance_type_code);
12372: ELSE
12381: --
12382: -- call description
12383: --
12384:
12385: xla_ae_lines_pkg.SetLineDescription(
12386: p_ae_header_id => l_ae_header_id
12387: ,p_description => Description_1 (
12388: p_application_id => p_application_id
12389: , p_ae_header_id => l_ae_header_id
12415: , x_value_type_code => l_adr_value_type_code
12416: , p_side => 'NA'
12417: );
12418:
12419: xla_ae_lines_pkg.set_ccid(
12420: p_code_combination_id => l_ccid
12421: , p_value_type_code => l_adr_value_type_code
12422: , p_transaction_coa_id => l_adr_transaction_coa_id
12423: , p_accounting_coa_id => l_adr_accounting_coa_id
12451: xla_accounting_err_pkg.build_message
12452: (p_appli_s_name => 'XLA'
12453: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12454: ,p_token_1 => 'LINE_NUMBER'
12455: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12456: ,p_token_2 => 'LINE_TYPE_NAME'
12457: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12458: l_component_type
12459: ,l_component_code
12487: --
12488: --
12489: ------------------------------------------------------------------------------------------------
12490: -- 4219869 Business Flow
12491: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12492: -- Prior Entry. Currently, the following code is always generated.
12493: ------------------------------------------------------------------------------------------------
12494: XLA_AE_LINES_PKG.ValidateCurrentLine;
12495:
12490: -- 4219869 Business Flow
12491: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12492: -- Prior Entry. Currently, the following code is always generated.
12493: ------------------------------------------------------------------------------------------------
12494: XLA_AE_LINES_PKG.ValidateCurrentLine;
12495:
12496: ------------------------------------------------------------------------------------
12497: -- 4219869 Business Flow
12498: -- Populated credit and debit amounts -- Need to generate this within IF
12496: ------------------------------------------------------------------------------------
12497: -- 4219869 Business Flow
12498: -- Populated credit and debit amounts -- Need to generate this within IF
12499: ------------------------------------------------------------------------------------
12500: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12501:
12502: ----------------------------------------------------------------------------------
12503: -- 4219869 Business Flow
12504: -- Update journal entry status -- Need to generate this within IF
12528: -- To allow MPA report to determine if it should generate report process
12529: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12530: ------------------------------------------------------------------------------------------
12531:
12532: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12533: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12534:
12535: --
12536: -- Update the line information that should be overwritten
12529: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12530: ------------------------------------------------------------------------------------------
12531:
12532: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12533: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12534:
12535: --
12536: -- Update the line information that should be overwritten
12537: --
12534:
12535: --
12536: -- Update the line information that should be overwritten
12537: --
12538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12539: p_header_num => 1);
12540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12541:
12542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12536: -- Update the line information that should be overwritten
12537: --
12538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12539: p_header_num => 1);
12540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12541:
12542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12543:
12544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12538: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12539: p_header_num => 1);
12540: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12541:
12542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12543:
12544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12545: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12546: END IF;
12541:
12542: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12543:
12544: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12545: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12546: END IF;
12547:
12548: --
12549: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12548: --
12549: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12550: --
12551: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12552: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12553: ELSE
12554: ---------------------------------------------------------------------------------------------------
12555: -- 4262811a Switch Sign
12556: ---------------------------------------------------------------------------------------------------
12553: ELSE
12554: ---------------------------------------------------------------------------------------------------
12555: -- 4262811a Switch Sign
12556: ---------------------------------------------------------------------------------------------------
12557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12554: ---------------------------------------------------------------------------------------------------
12555: -- 4262811a Switch Sign
12556: ---------------------------------------------------------------------------------------------------
12557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12555: -- 4262811a Switch Sign
12556: ---------------------------------------------------------------------------------------------------
12557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12556: ---------------------------------------------------------------------------------------------------
12557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12557: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12558: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12565:
12559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12565:
12566: END IF;
12567:
12560: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12562: -- 5132302
12563: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12565:
12566: END IF;
12567:
12568: -- 4955764
12565:
12566: END IF;
12567:
12568: -- 4955764
12569: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12571:
12572:
12573: XLA_AE_LINES_PKG.ValidateCurrentLine;
12569: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12571:
12572:
12573: XLA_AE_LINES_PKG.ValidateCurrentLine;
12574: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12575:
12576: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12577: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12570: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12571:
12572:
12573: XLA_AE_LINES_PKG.ValidateCurrentLine;
12574: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12575:
12576: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12577: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12578: ,p_balance_type_code => l_balance_type_code);
12706: --
12707: -- bulk performance
12708: --
12709: l_balance_type_code VARCHAR2(1);
12710: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12711: l_log_module VARCHAR2(240);
12712:
12713: --
12714: -- Upgrade strategy
12774: ') = 'LEASE_DEBIT'
12775: THEN
12776:
12777: --
12778: XLA_AE_LINES_PKG.SetNewLine;
12779:
12780: p_balance_type_code := l_balance_type_code;
12781: -- set the flag so later we will know whether the gain loss line needs to be created
12782:
12786:
12787: --
12788: -- bulk performance
12789: --
12790: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12791: p_header_num => 0); -- 4262811
12792: --
12793: -- set accounting line options
12794: --
12791: p_header_num => 0); -- 4262811
12792: --
12793: -- set accounting line options
12794: --
12795: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12796: p_natural_side_code => 'D'
12797: , p_gain_or_loss_flag => 'N'
12798: , p_gl_transfer_mode_code => 'S'
12799: , p_acct_entry_type_code => 'A'
12805: --
12806: --
12807: -- set accounting line type info
12808: --
12809: xla_ae_lines_pkg.SetAcctLineType
12810: (p_component_type => l_component_type
12811: ,p_event_type_code => l_event_type_code
12812: ,p_line_definition_owner_code => l_line_definition_owner_code
12813: ,p_line_definition_code => l_line_definition_code
12819: ,p_event_class_code => l_event_class_code);
12820: --
12821: -- set accounting class
12822: --
12823: xla_ae_lines_pkg.SetAcctClass(
12824: p_accounting_class_code => 'SPLIT_ASSET'
12825: , p_ae_header_id => l_ae_header_id
12826: );
12827:
12827:
12828: --
12829: -- set rounding class
12830: --
12831: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12832: 'SPLIT_ASSET';
12833:
12834: --
12835: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12831: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12832: 'SPLIT_ASSET';
12833:
12834: --
12835: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12836: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12837: --
12838: -- bulk performance
12839: --
12832: 'SPLIT_ASSET';
12833:
12834: --
12835: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12836: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12837: --
12838: -- bulk performance
12839: --
12840: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12836: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12837: --
12838: -- bulk performance
12839: --
12840: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12841:
12842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12843: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12844:
12838: -- bulk performance
12839: --
12840: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12841:
12842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12843: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12844:
12845: -- 4955764
12846: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12843: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12844:
12845: -- 4955764
12846: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12847: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12848:
12849: -- 4458381 Public Sector Enh
12850:
12868: l_rec_acct_attrs.array_num_value(6) := p_source_12;
12869: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
12870: l_rec_acct_attrs.array_char_value(7) := p_source_13;
12871:
12872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12874:
12875: ---------------------------------------------------------------------------------------------------------------
12876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12869: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
12870: l_rec_acct_attrs.array_char_value(7) := p_source_13;
12871:
12872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12874:
12875: ---------------------------------------------------------------------------------------------------------------
12876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12877: ---------------------------------------------------------------------------------------------------------------
12872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12874:
12875: ---------------------------------------------------------------------------------------------------------------
12876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12877: ---------------------------------------------------------------------------------------------------------------
12878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12879:
12880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12874:
12875: ---------------------------------------------------------------------------------------------------------------
12876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12877: ---------------------------------------------------------------------------------------------------------------
12878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12879:
12880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12882:
12876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12877: ---------------------------------------------------------------------------------------------------------------
12878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12879:
12880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12882:
12883: IF xla_accounting_cache_pkg.GetValueChar
12884: (p_source_code => 'LEDGER_CATEGORY_CODE'
12877: ---------------------------------------------------------------------------------------------------------------
12878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12879:
12880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12882:
12883: IF xla_accounting_cache_pkg.GetValueChar
12884: (p_source_code => 'LEDGER_CATEGORY_CODE'
12885: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12888: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12889: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12890: )
12891: THEN
12892: xla_ae_lines_pkg.BflowUpgEntry
12893: (p_business_method_code => l_bflow_method_code
12894: ,p_business_class_code => l_bflow_class_code
12895: ,p_balance_type => l_balance_type_code);
12896: ELSE
12905: --
12906: -- call description
12907: --
12908:
12909: xla_ae_lines_pkg.SetLineDescription(
12910: p_ae_header_id => l_ae_header_id
12911: ,p_description => Description_1 (
12912: p_application_id => p_application_id
12913: , p_ae_header_id => l_ae_header_id
12939: , x_value_type_code => l_adr_value_type_code
12940: , p_side => 'NA'
12941: );
12942:
12943: xla_ae_lines_pkg.set_ccid(
12944: p_code_combination_id => l_ccid
12945: , p_value_type_code => l_adr_value_type_code
12946: , p_transaction_coa_id => l_adr_transaction_coa_id
12947: , p_accounting_coa_id => l_adr_accounting_coa_id
12975: xla_accounting_err_pkg.build_message
12976: (p_appli_s_name => 'XLA'
12977: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12978: ,p_token_1 => 'LINE_NUMBER'
12979: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12980: ,p_token_2 => 'LINE_TYPE_NAME'
12981: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12982: l_component_type
12983: ,l_component_code
13011: --
13012: --
13013: ------------------------------------------------------------------------------------------------
13014: -- 4219869 Business Flow
13015: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13016: -- Prior Entry. Currently, the following code is always generated.
13017: ------------------------------------------------------------------------------------------------
13018: XLA_AE_LINES_PKG.ValidateCurrentLine;
13019:
13014: -- 4219869 Business Flow
13015: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13016: -- Prior Entry. Currently, the following code is always generated.
13017: ------------------------------------------------------------------------------------------------
13018: XLA_AE_LINES_PKG.ValidateCurrentLine;
13019:
13020: ------------------------------------------------------------------------------------
13021: -- 4219869 Business Flow
13022: -- Populated credit and debit amounts -- Need to generate this within IF
13020: ------------------------------------------------------------------------------------
13021: -- 4219869 Business Flow
13022: -- Populated credit and debit amounts -- Need to generate this within IF
13023: ------------------------------------------------------------------------------------
13024: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13025:
13026: ----------------------------------------------------------------------------------
13027: -- 4219869 Business Flow
13028: -- Update journal entry status -- Need to generate this within IF
13052: -- To allow MPA report to determine if it should generate report process
13053: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13054: ------------------------------------------------------------------------------------------
13055:
13056: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13057: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13058:
13059: --
13060: -- Update the line information that should be overwritten
13053: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13054: ------------------------------------------------------------------------------------------
13055:
13056: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13057: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13058:
13059: --
13060: -- Update the line information that should be overwritten
13061: --
13058:
13059: --
13060: -- Update the line information that should be overwritten
13061: --
13062: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13063: p_header_num => 1);
13064: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13065:
13066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13060: -- Update the line information that should be overwritten
13061: --
13062: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13063: p_header_num => 1);
13064: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13065:
13066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13067:
13068: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13062: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13063: p_header_num => 1);
13064: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13065:
13066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13067:
13068: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13069: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13070: END IF;
13065:
13066: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13067:
13068: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13069: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13070: END IF;
13071:
13072: --
13073: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13072: --
13073: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13074: --
13075: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13076: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13077: ELSE
13078: ---------------------------------------------------------------------------------------------------
13079: -- 4262811a Switch Sign
13080: ---------------------------------------------------------------------------------------------------
13077: ELSE
13078: ---------------------------------------------------------------------------------------------------
13079: -- 4262811a Switch Sign
13080: ---------------------------------------------------------------------------------------------------
13081: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13078: ---------------------------------------------------------------------------------------------------
13079: -- 4262811a Switch Sign
13080: ---------------------------------------------------------------------------------------------------
13081: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13079: -- 4262811a Switch Sign
13080: ---------------------------------------------------------------------------------------------------
13081: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13087: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13080: ---------------------------------------------------------------------------------------------------
13081: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13087: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13088: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13081: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13087: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13088: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13089:
13083: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13087: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13088: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13089:
13090: END IF;
13091:
13084: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13085: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13086: -- 5132302
13087: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13088: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13089:
13090: END IF;
13091:
13092: -- 4955764
13089:
13090: END IF;
13091:
13092: -- 4955764
13093: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13094: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13095:
13096:
13097: XLA_AE_LINES_PKG.ValidateCurrentLine;
13093: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13094: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13095:
13096:
13097: XLA_AE_LINES_PKG.ValidateCurrentLine;
13098: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13099:
13100: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13101: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13094: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13095:
13096:
13097: XLA_AE_LINES_PKG.ValidateCurrentLine;
13098: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13099:
13100: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13101: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13102: ,p_balance_type_code => l_balance_type_code);
13230: --
13231: -- bulk performance
13232: --
13233: l_balance_type_code VARCHAR2(1);
13234: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13235: l_log_module VARCHAR2(240);
13236:
13237: --
13238: -- Upgrade strategy
13298: ') = 'LEASE_CREDIT'
13299: THEN
13300:
13301: --
13302: XLA_AE_LINES_PKG.SetNewLine;
13303:
13304: p_balance_type_code := l_balance_type_code;
13305: -- set the flag so later we will know whether the gain loss line needs to be created
13306:
13310:
13311: --
13312: -- bulk performance
13313: --
13314: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13315: p_header_num => 0); -- 4262811
13316: --
13317: -- set accounting line options
13318: --
13315: p_header_num => 0); -- 4262811
13316: --
13317: -- set accounting line options
13318: --
13319: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13320: p_natural_side_code => 'C'
13321: , p_gain_or_loss_flag => 'N'
13322: , p_gl_transfer_mode_code => 'S'
13323: , p_acct_entry_type_code => 'A'
13329: --
13330: --
13331: -- set accounting line type info
13332: --
13333: xla_ae_lines_pkg.SetAcctLineType
13334: (p_component_type => l_component_type
13335: ,p_event_type_code => l_event_type_code
13336: ,p_line_definition_owner_code => l_line_definition_owner_code
13337: ,p_line_definition_code => l_line_definition_code
13343: ,p_event_class_code => l_event_class_code);
13344: --
13345: -- set accounting class
13346: --
13347: xla_ae_lines_pkg.SetAcctClass(
13348: p_accounting_class_code => 'TERMINATION'
13349: , p_ae_header_id => l_ae_header_id
13350: );
13351:
13351:
13352: --
13353: -- set rounding class
13354: --
13355: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13356: 'TERMINATION';
13357:
13358: --
13359: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13355: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13356: 'TERMINATION';
13357:
13358: --
13359: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13360: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13361: --
13362: -- bulk performance
13363: --
13356: 'TERMINATION';
13357:
13358: --
13359: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13360: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13361: --
13362: -- bulk performance
13363: --
13364: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13360: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13361: --
13362: -- bulk performance
13363: --
13364: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13365:
13366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13367: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13368:
13362: -- bulk performance
13363: --
13364: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13365:
13366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13367: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13368:
13369: -- 4955764
13370: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13366: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13367: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13368:
13369: -- 4955764
13370: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13371: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13372:
13373: -- 4458381 Public Sector Enh
13374:
13392: l_rec_acct_attrs.array_num_value(6) := p_source_12;
13393: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
13394: l_rec_acct_attrs.array_char_value(7) := p_source_13;
13395:
13396: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13397: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13398:
13399: ---------------------------------------------------------------------------------------------------------------
13400: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13393: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
13394: l_rec_acct_attrs.array_char_value(7) := p_source_13;
13395:
13396: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13397: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13398:
13399: ---------------------------------------------------------------------------------------------------------------
13400: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13401: ---------------------------------------------------------------------------------------------------------------
13396: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13397: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13398:
13399: ---------------------------------------------------------------------------------------------------------------
13400: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13401: ---------------------------------------------------------------------------------------------------------------
13402: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13403:
13404: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13398:
13399: ---------------------------------------------------------------------------------------------------------------
13400: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13401: ---------------------------------------------------------------------------------------------------------------
13402: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13403:
13404: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13405: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13406:
13400: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13401: ---------------------------------------------------------------------------------------------------------------
13402: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13403:
13404: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13405: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13406:
13407: IF xla_accounting_cache_pkg.GetValueChar
13408: (p_source_code => 'LEDGER_CATEGORY_CODE'
13401: ---------------------------------------------------------------------------------------------------------------
13402: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13403:
13404: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13405: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13406:
13407: IF xla_accounting_cache_pkg.GetValueChar
13408: (p_source_code => 'LEDGER_CATEGORY_CODE'
13409: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13412: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13413: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13414: )
13415: THEN
13416: xla_ae_lines_pkg.BflowUpgEntry
13417: (p_business_method_code => l_bflow_method_code
13418: ,p_business_class_code => l_bflow_class_code
13419: ,p_balance_type => l_balance_type_code);
13420: ELSE
13429: --
13430: -- call description
13431: --
13432:
13433: xla_ae_lines_pkg.SetLineDescription(
13434: p_ae_header_id => l_ae_header_id
13435: ,p_description => Description_1 (
13436: p_application_id => p_application_id
13437: , p_ae_header_id => l_ae_header_id
13463: , x_value_type_code => l_adr_value_type_code
13464: , p_side => 'NA'
13465: );
13466:
13467: xla_ae_lines_pkg.set_ccid(
13468: p_code_combination_id => l_ccid
13469: , p_value_type_code => l_adr_value_type_code
13470: , p_transaction_coa_id => l_adr_transaction_coa_id
13471: , p_accounting_coa_id => l_adr_accounting_coa_id
13499: xla_accounting_err_pkg.build_message
13500: (p_appli_s_name => 'XLA'
13501: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13502: ,p_token_1 => 'LINE_NUMBER'
13503: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13504: ,p_token_2 => 'LINE_TYPE_NAME'
13505: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13506: l_component_type
13507: ,l_component_code
13535: --
13536: --
13537: ------------------------------------------------------------------------------------------------
13538: -- 4219869 Business Flow
13539: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13540: -- Prior Entry. Currently, the following code is always generated.
13541: ------------------------------------------------------------------------------------------------
13542: XLA_AE_LINES_PKG.ValidateCurrentLine;
13543:
13538: -- 4219869 Business Flow
13539: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13540: -- Prior Entry. Currently, the following code is always generated.
13541: ------------------------------------------------------------------------------------------------
13542: XLA_AE_LINES_PKG.ValidateCurrentLine;
13543:
13544: ------------------------------------------------------------------------------------
13545: -- 4219869 Business Flow
13546: -- Populated credit and debit amounts -- Need to generate this within IF
13544: ------------------------------------------------------------------------------------
13545: -- 4219869 Business Flow
13546: -- Populated credit and debit amounts -- Need to generate this within IF
13547: ------------------------------------------------------------------------------------
13548: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13549:
13550: ----------------------------------------------------------------------------------
13551: -- 4219869 Business Flow
13552: -- Update journal entry status -- Need to generate this within IF
13576: -- To allow MPA report to determine if it should generate report process
13577: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13578: ------------------------------------------------------------------------------------------
13579:
13580: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13581: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13582:
13583: --
13584: -- Update the line information that should be overwritten
13577: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13578: ------------------------------------------------------------------------------------------
13579:
13580: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13581: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13582:
13583: --
13584: -- Update the line information that should be overwritten
13585: --
13582:
13583: --
13584: -- Update the line information that should be overwritten
13585: --
13586: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13587: p_header_num => 1);
13588: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13589:
13590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13584: -- Update the line information that should be overwritten
13585: --
13586: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13587: p_header_num => 1);
13588: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13589:
13590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13591:
13592: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13586: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13587: p_header_num => 1);
13588: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13589:
13590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13591:
13592: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13593: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13594: END IF;
13589:
13590: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13591:
13592: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13593: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13594: END IF;
13595:
13596: --
13597: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13596: --
13597: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13598: --
13599: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13600: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13601: ELSE
13602: ---------------------------------------------------------------------------------------------------
13603: -- 4262811a Switch Sign
13604: ---------------------------------------------------------------------------------------------------
13601: ELSE
13602: ---------------------------------------------------------------------------------------------------
13603: -- 4262811a Switch Sign
13604: ---------------------------------------------------------------------------------------------------
13605: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13606: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13602: ---------------------------------------------------------------------------------------------------
13603: -- 4262811a Switch Sign
13604: ---------------------------------------------------------------------------------------------------
13605: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13606: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13603: -- 4262811a Switch Sign
13604: ---------------------------------------------------------------------------------------------------
13605: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13606: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13611: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13604: ---------------------------------------------------------------------------------------------------
13605: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13606: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13611: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13605: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13606: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13611: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13613:
13607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13611: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13613:
13614: END IF;
13615:
13608: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13610: -- 5132302
13611: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13613:
13614: END IF;
13615:
13616: -- 4955764
13613:
13614: END IF;
13615:
13616: -- 4955764
13617: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13618: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13619:
13620:
13621: XLA_AE_LINES_PKG.ValidateCurrentLine;
13617: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13618: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13619:
13620:
13621: XLA_AE_LINES_PKG.ValidateCurrentLine;
13622: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13623:
13624: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13625: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13618: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13619:
13620:
13621: XLA_AE_LINES_PKG.ValidateCurrentLine;
13622: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13623:
13624: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13625: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13626: ,p_balance_type_code => l_balance_type_code);
13754: --
13755: -- bulk performance
13756: --
13757: l_balance_type_code VARCHAR2(1);
13758: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13759: l_log_module VARCHAR2(240);
13760:
13761: --
13762: -- Upgrade strategy
13822: ') = 'LEASE_DEBIT'
13823: THEN
13824:
13825: --
13826: XLA_AE_LINES_PKG.SetNewLine;
13827:
13828: p_balance_type_code := l_balance_type_code;
13829: -- set the flag so later we will know whether the gain loss line needs to be created
13830:
13834:
13835: --
13836: -- bulk performance
13837: --
13838: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13839: p_header_num => 0); -- 4262811
13840: --
13841: -- set accounting line options
13842: --
13839: p_header_num => 0); -- 4262811
13840: --
13841: -- set accounting line options
13842: --
13843: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13844: p_natural_side_code => 'D'
13845: , p_gain_or_loss_flag => 'N'
13846: , p_gl_transfer_mode_code => 'S'
13847: , p_acct_entry_type_code => 'A'
13853: --
13854: --
13855: -- set accounting line type info
13856: --
13857: xla_ae_lines_pkg.SetAcctLineType
13858: (p_component_type => l_component_type
13859: ,p_event_type_code => l_event_type_code
13860: ,p_line_definition_owner_code => l_line_definition_owner_code
13861: ,p_line_definition_code => l_line_definition_code
13867: ,p_event_class_code => l_event_class_code);
13868: --
13869: -- set accounting class
13870: --
13871: xla_ae_lines_pkg.SetAcctClass(
13872: p_accounting_class_code => 'TERMINATION'
13873: , p_ae_header_id => l_ae_header_id
13874: );
13875:
13875:
13876: --
13877: -- set rounding class
13878: --
13879: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13880: 'TERMINATION';
13881:
13882: --
13883: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13879: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13880: 'TERMINATION';
13881:
13882: --
13883: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13884: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13885: --
13886: -- bulk performance
13887: --
13880: 'TERMINATION';
13881:
13882: --
13883: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13884: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13885: --
13886: -- bulk performance
13887: --
13888: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13884: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13885: --
13886: -- bulk performance
13887: --
13888: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13889:
13890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13891: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13892:
13886: -- bulk performance
13887: --
13888: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13889:
13890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13891: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13892:
13893: -- 4955764
13894: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13890: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13891: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13892:
13893: -- 4955764
13894: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13895: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13896:
13897: -- 4458381 Public Sector Enh
13898:
13916: l_rec_acct_attrs.array_num_value(6) := p_source_12;
13917: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
13918: l_rec_acct_attrs.array_char_value(7) := p_source_13;
13919:
13920: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13921: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13922:
13923: ---------------------------------------------------------------------------------------------------------------
13924: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13917: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
13918: l_rec_acct_attrs.array_char_value(7) := p_source_13;
13919:
13920: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13921: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13922:
13923: ---------------------------------------------------------------------------------------------------------------
13924: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13925: ---------------------------------------------------------------------------------------------------------------
13920: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13921: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13922:
13923: ---------------------------------------------------------------------------------------------------------------
13924: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13925: ---------------------------------------------------------------------------------------------------------------
13926: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13927:
13928: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13922:
13923: ---------------------------------------------------------------------------------------------------------------
13924: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13925: ---------------------------------------------------------------------------------------------------------------
13926: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13927:
13928: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13929: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13930:
13924: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13925: ---------------------------------------------------------------------------------------------------------------
13926: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13927:
13928: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13929: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13930:
13931: IF xla_accounting_cache_pkg.GetValueChar
13932: (p_source_code => 'LEDGER_CATEGORY_CODE'
13925: ---------------------------------------------------------------------------------------------------------------
13926: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13927:
13928: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13929: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13930:
13931: IF xla_accounting_cache_pkg.GetValueChar
13932: (p_source_code => 'LEDGER_CATEGORY_CODE'
13933: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13936: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13937: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13938: )
13939: THEN
13940: xla_ae_lines_pkg.BflowUpgEntry
13941: (p_business_method_code => l_bflow_method_code
13942: ,p_business_class_code => l_bflow_class_code
13943: ,p_balance_type => l_balance_type_code);
13944: ELSE
13953: --
13954: -- call description
13955: --
13956:
13957: xla_ae_lines_pkg.SetLineDescription(
13958: p_ae_header_id => l_ae_header_id
13959: ,p_description => Description_1 (
13960: p_application_id => p_application_id
13961: , p_ae_header_id => l_ae_header_id
13987: , x_value_type_code => l_adr_value_type_code
13988: , p_side => 'NA'
13989: );
13990:
13991: xla_ae_lines_pkg.set_ccid(
13992: p_code_combination_id => l_ccid
13993: , p_value_type_code => l_adr_value_type_code
13994: , p_transaction_coa_id => l_adr_transaction_coa_id
13995: , p_accounting_coa_id => l_adr_accounting_coa_id
14023: xla_accounting_err_pkg.build_message
14024: (p_appli_s_name => 'XLA'
14025: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14026: ,p_token_1 => 'LINE_NUMBER'
14027: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14028: ,p_token_2 => 'LINE_TYPE_NAME'
14029: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14030: l_component_type
14031: ,l_component_code
14059: --
14060: --
14061: ------------------------------------------------------------------------------------------------
14062: -- 4219869 Business Flow
14063: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14064: -- Prior Entry. Currently, the following code is always generated.
14065: ------------------------------------------------------------------------------------------------
14066: XLA_AE_LINES_PKG.ValidateCurrentLine;
14067:
14062: -- 4219869 Business Flow
14063: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14064: -- Prior Entry. Currently, the following code is always generated.
14065: ------------------------------------------------------------------------------------------------
14066: XLA_AE_LINES_PKG.ValidateCurrentLine;
14067:
14068: ------------------------------------------------------------------------------------
14069: -- 4219869 Business Flow
14070: -- Populated credit and debit amounts -- Need to generate this within IF
14068: ------------------------------------------------------------------------------------
14069: -- 4219869 Business Flow
14070: -- Populated credit and debit amounts -- Need to generate this within IF
14071: ------------------------------------------------------------------------------------
14072: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14073:
14074: ----------------------------------------------------------------------------------
14075: -- 4219869 Business Flow
14076: -- Update journal entry status -- Need to generate this within IF
14100: -- To allow MPA report to determine if it should generate report process
14101: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14102: ------------------------------------------------------------------------------------------
14103:
14104: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14105: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14106:
14107: --
14108: -- Update the line information that should be overwritten
14101: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14102: ------------------------------------------------------------------------------------------
14103:
14104: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14105: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14106:
14107: --
14108: -- Update the line information that should be overwritten
14109: --
14106:
14107: --
14108: -- Update the line information that should be overwritten
14109: --
14110: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14111: p_header_num => 1);
14112: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14113:
14114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14108: -- Update the line information that should be overwritten
14109: --
14110: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14111: p_header_num => 1);
14112: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14113:
14114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14115:
14116: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14110: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14111: p_header_num => 1);
14112: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14113:
14114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14115:
14116: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14117: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14118: END IF;
14113:
14114: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14115:
14116: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14117: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14118: END IF;
14119:
14120: --
14121: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14120: --
14121: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14122: --
14123: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14124: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14125: ELSE
14126: ---------------------------------------------------------------------------------------------------
14127: -- 4262811a Switch Sign
14128: ---------------------------------------------------------------------------------------------------
14125: ELSE
14126: ---------------------------------------------------------------------------------------------------
14127: -- 4262811a Switch Sign
14128: ---------------------------------------------------------------------------------------------------
14129: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14126: ---------------------------------------------------------------------------------------------------
14127: -- 4262811a Switch Sign
14128: ---------------------------------------------------------------------------------------------------
14129: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14127: -- 4262811a Switch Sign
14128: ---------------------------------------------------------------------------------------------------
14129: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14128: ---------------------------------------------------------------------------------------------------
14129: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14136: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14129: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14136: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14137:
14131: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14136: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14137:
14138: END IF;
14139:
14132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14133: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: -- 5132302
14135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14136: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14137:
14138: END IF;
14139:
14140: -- 4955764
14137:
14138: END IF;
14139:
14140: -- 4955764
14141: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14142: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14143:
14144:
14145: XLA_AE_LINES_PKG.ValidateCurrentLine;
14141: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14142: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14143:
14144:
14145: XLA_AE_LINES_PKG.ValidateCurrentLine;
14146: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14147:
14148: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14149: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14142: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14143:
14144:
14145: XLA_AE_LINES_PKG.ValidateCurrentLine;
14146: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14147:
14148: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14149: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14150: ,p_balance_type_code => l_balance_type_code);
14278: --
14279: -- bulk performance
14280: --
14281: l_balance_type_code VARCHAR2(1);
14282: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14283: l_log_module VARCHAR2(240);
14284:
14285: --
14286: -- Upgrade strategy
14346: ') = 'LEASE_CREDIT'
14347: THEN
14348:
14349: --
14350: XLA_AE_LINES_PKG.SetNewLine;
14351:
14352: p_balance_type_code := l_balance_type_code;
14353: -- set the flag so later we will know whether the gain loss line needs to be created
14354:
14358:
14359: --
14360: -- bulk performance
14361: --
14362: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14363: p_header_num => 0); -- 4262811
14364: --
14365: -- set accounting line options
14366: --
14363: p_header_num => 0); -- 4262811
14364: --
14365: -- set accounting line options
14366: --
14367: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14368: p_natural_side_code => 'C'
14369: , p_gain_or_loss_flag => 'N'
14370: , p_gl_transfer_mode_code => 'S'
14371: , p_acct_entry_type_code => 'A'
14377: --
14378: --
14379: -- set accounting line type info
14380: --
14381: xla_ae_lines_pkg.SetAcctLineType
14382: (p_component_type => l_component_type
14383: ,p_event_type_code => l_event_type_code
14384: ,p_line_definition_owner_code => l_line_definition_owner_code
14385: ,p_line_definition_code => l_line_definition_code
14391: ,p_event_class_code => l_event_class_code);
14392: --
14393: -- set accounting class
14394: --
14395: xla_ae_lines_pkg.SetAcctClass(
14396: p_accounting_class_code => 'UPFRONT_TAX'
14397: , p_ae_header_id => l_ae_header_id
14398: );
14399:
14399:
14400: --
14401: -- set rounding class
14402: --
14403: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14404: 'UPFRONT_TAX';
14405:
14406: --
14407: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14403: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14404: 'UPFRONT_TAX';
14405:
14406: --
14407: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14408: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14409: --
14410: -- bulk performance
14411: --
14404: 'UPFRONT_TAX';
14405:
14406: --
14407: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14408: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14409: --
14410: -- bulk performance
14411: --
14412: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14408: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14409: --
14410: -- bulk performance
14411: --
14412: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14413:
14414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14415: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14416:
14410: -- bulk performance
14411: --
14412: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14413:
14414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14415: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14416:
14417: -- 4955764
14418: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14414: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14415: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14416:
14417: -- 4955764
14418: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14419: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14420:
14421: -- 4458381 Public Sector Enh
14422:
14440: l_rec_acct_attrs.array_num_value(6) := p_source_12;
14441: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
14442: l_rec_acct_attrs.array_char_value(7) := p_source_13;
14443:
14444: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14445: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14446:
14447: ---------------------------------------------------------------------------------------------------------------
14448: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14441: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
14442: l_rec_acct_attrs.array_char_value(7) := p_source_13;
14443:
14444: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14445: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14446:
14447: ---------------------------------------------------------------------------------------------------------------
14448: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14449: ---------------------------------------------------------------------------------------------------------------
14444: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14445: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14446:
14447: ---------------------------------------------------------------------------------------------------------------
14448: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14449: ---------------------------------------------------------------------------------------------------------------
14450: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14451:
14452: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14446:
14447: ---------------------------------------------------------------------------------------------------------------
14448: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14449: ---------------------------------------------------------------------------------------------------------------
14450: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14451:
14452: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14453: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14454:
14448: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14449: ---------------------------------------------------------------------------------------------------------------
14450: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14451:
14452: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14453: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14454:
14455: IF xla_accounting_cache_pkg.GetValueChar
14456: (p_source_code => 'LEDGER_CATEGORY_CODE'
14449: ---------------------------------------------------------------------------------------------------------------
14450: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14451:
14452: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14453: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14454:
14455: IF xla_accounting_cache_pkg.GetValueChar
14456: (p_source_code => 'LEDGER_CATEGORY_CODE'
14457: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14460: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14461: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14462: )
14463: THEN
14464: xla_ae_lines_pkg.BflowUpgEntry
14465: (p_business_method_code => l_bflow_method_code
14466: ,p_business_class_code => l_bflow_class_code
14467: ,p_balance_type => l_balance_type_code);
14468: ELSE
14477: --
14478: -- call description
14479: --
14480:
14481: xla_ae_lines_pkg.SetLineDescription(
14482: p_ae_header_id => l_ae_header_id
14483: ,p_description => Description_1 (
14484: p_application_id => p_application_id
14485: , p_ae_header_id => l_ae_header_id
14511: , x_value_type_code => l_adr_value_type_code
14512: , p_side => 'NA'
14513: );
14514:
14515: xla_ae_lines_pkg.set_ccid(
14516: p_code_combination_id => l_ccid
14517: , p_value_type_code => l_adr_value_type_code
14518: , p_transaction_coa_id => l_adr_transaction_coa_id
14519: , p_accounting_coa_id => l_adr_accounting_coa_id
14547: xla_accounting_err_pkg.build_message
14548: (p_appli_s_name => 'XLA'
14549: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14550: ,p_token_1 => 'LINE_NUMBER'
14551: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14552: ,p_token_2 => 'LINE_TYPE_NAME'
14553: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14554: l_component_type
14555: ,l_component_code
14583: --
14584: --
14585: ------------------------------------------------------------------------------------------------
14586: -- 4219869 Business Flow
14587: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14588: -- Prior Entry. Currently, the following code is always generated.
14589: ------------------------------------------------------------------------------------------------
14590: XLA_AE_LINES_PKG.ValidateCurrentLine;
14591:
14586: -- 4219869 Business Flow
14587: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14588: -- Prior Entry. Currently, the following code is always generated.
14589: ------------------------------------------------------------------------------------------------
14590: XLA_AE_LINES_PKG.ValidateCurrentLine;
14591:
14592: ------------------------------------------------------------------------------------
14593: -- 4219869 Business Flow
14594: -- Populated credit and debit amounts -- Need to generate this within IF
14592: ------------------------------------------------------------------------------------
14593: -- 4219869 Business Flow
14594: -- Populated credit and debit amounts -- Need to generate this within IF
14595: ------------------------------------------------------------------------------------
14596: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14597:
14598: ----------------------------------------------------------------------------------
14599: -- 4219869 Business Flow
14600: -- Update journal entry status -- Need to generate this within IF
14624: -- To allow MPA report to determine if it should generate report process
14625: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14626: ------------------------------------------------------------------------------------------
14627:
14628: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14629: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14630:
14631: --
14632: -- Update the line information that should be overwritten
14625: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14626: ------------------------------------------------------------------------------------------
14627:
14628: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14629: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14630:
14631: --
14632: -- Update the line information that should be overwritten
14633: --
14630:
14631: --
14632: -- Update the line information that should be overwritten
14633: --
14634: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14635: p_header_num => 1);
14636: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14637:
14638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14632: -- Update the line information that should be overwritten
14633: --
14634: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14635: p_header_num => 1);
14636: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14637:
14638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14639:
14640: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14634: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14635: p_header_num => 1);
14636: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14637:
14638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14639:
14640: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14641: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14642: END IF;
14637:
14638: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14639:
14640: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14641: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14642: END IF;
14643:
14644: --
14645: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14644: --
14645: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14646: --
14647: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14648: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14649: ELSE
14650: ---------------------------------------------------------------------------------------------------
14651: -- 4262811a Switch Sign
14652: ---------------------------------------------------------------------------------------------------
14649: ELSE
14650: ---------------------------------------------------------------------------------------------------
14651: -- 4262811a Switch Sign
14652: ---------------------------------------------------------------------------------------------------
14653: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14654: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14650: ---------------------------------------------------------------------------------------------------
14651: -- 4262811a Switch Sign
14652: ---------------------------------------------------------------------------------------------------
14653: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14654: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14651: -- 4262811a Switch Sign
14652: ---------------------------------------------------------------------------------------------------
14653: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14654: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14659: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14652: ---------------------------------------------------------------------------------------------------
14653: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14654: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14659: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14653: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14654: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14659: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14661:
14655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14659: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14661:
14662: END IF;
14663:
14656: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14658: -- 5132302
14659: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14661:
14662: END IF;
14663:
14664: -- 4955764
14661:
14662: END IF;
14663:
14664: -- 4955764
14665: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14666: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14667:
14668:
14669: XLA_AE_LINES_PKG.ValidateCurrentLine;
14665: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14666: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14667:
14668:
14669: XLA_AE_LINES_PKG.ValidateCurrentLine;
14670: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14671:
14672: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14673: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14666: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14667:
14668:
14669: XLA_AE_LINES_PKG.ValidateCurrentLine;
14670: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14671:
14672: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14673: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14674: ,p_balance_type_code => l_balance_type_code);
14802: --
14803: -- bulk performance
14804: --
14805: l_balance_type_code VARCHAR2(1);
14806: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14807: l_log_module VARCHAR2(240);
14808:
14809: --
14810: -- Upgrade strategy
14870: ') = 'LEASE_DEBIT'
14871: THEN
14872:
14873: --
14874: XLA_AE_LINES_PKG.SetNewLine;
14875:
14876: p_balance_type_code := l_balance_type_code;
14877: -- set the flag so later we will know whether the gain loss line needs to be created
14878:
14882:
14883: --
14884: -- bulk performance
14885: --
14886: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14887: p_header_num => 0); -- 4262811
14888: --
14889: -- set accounting line options
14890: --
14887: p_header_num => 0); -- 4262811
14888: --
14889: -- set accounting line options
14890: --
14891: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14892: p_natural_side_code => 'D'
14893: , p_gain_or_loss_flag => 'N'
14894: , p_gl_transfer_mode_code => 'S'
14895: , p_acct_entry_type_code => 'A'
14901: --
14902: --
14903: -- set accounting line type info
14904: --
14905: xla_ae_lines_pkg.SetAcctLineType
14906: (p_component_type => l_component_type
14907: ,p_event_type_code => l_event_type_code
14908: ,p_line_definition_owner_code => l_line_definition_owner_code
14909: ,p_line_definition_code => l_line_definition_code
14915: ,p_event_class_code => l_event_class_code);
14916: --
14917: -- set accounting class
14918: --
14919: xla_ae_lines_pkg.SetAcctClass(
14920: p_accounting_class_code => 'UPFRONT_TAX'
14921: , p_ae_header_id => l_ae_header_id
14922: );
14923:
14923:
14924: --
14925: -- set rounding class
14926: --
14927: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14928: 'UPFRONT_TAX';
14929:
14930: --
14931: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14927: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14928: 'UPFRONT_TAX';
14929:
14930: --
14931: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14932: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14933: --
14934: -- bulk performance
14935: --
14928: 'UPFRONT_TAX';
14929:
14930: --
14931: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14932: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14933: --
14934: -- bulk performance
14935: --
14936: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14932: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14933: --
14934: -- bulk performance
14935: --
14936: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14937:
14938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14939: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14940:
14934: -- bulk performance
14935: --
14936: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14937:
14938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14939: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14940:
14941: -- 4955764
14942: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14939: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14940:
14941: -- 4955764
14942: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14943: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14944:
14945: -- 4458381 Public Sector Enh
14946:
14964: l_rec_acct_attrs.array_num_value(6) := p_source_12;
14965: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
14966: l_rec_acct_attrs.array_char_value(7) := p_source_13;
14967:
14968: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14969: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14970:
14971: ---------------------------------------------------------------------------------------------------------------
14972: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14965: l_rec_acct_attrs.array_acct_attr_code(7) := 'EXCHANGE_RATE_TYPE';
14966: l_rec_acct_attrs.array_char_value(7) := p_source_13;
14967:
14968: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14969: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14970:
14971: ---------------------------------------------------------------------------------------------------------------
14972: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14973: ---------------------------------------------------------------------------------------------------------------
14968: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14969: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14970:
14971: ---------------------------------------------------------------------------------------------------------------
14972: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14973: ---------------------------------------------------------------------------------------------------------------
14974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14975:
14976: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14970:
14971: ---------------------------------------------------------------------------------------------------------------
14972: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14973: ---------------------------------------------------------------------------------------------------------------
14974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14975:
14976: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14977: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14978:
14972: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14973: ---------------------------------------------------------------------------------------------------------------
14974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14975:
14976: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14977: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14978:
14979: IF xla_accounting_cache_pkg.GetValueChar
14980: (p_source_code => 'LEDGER_CATEGORY_CODE'
14973: ---------------------------------------------------------------------------------------------------------------
14974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14975:
14976: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14977: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14978:
14979: IF xla_accounting_cache_pkg.GetValueChar
14980: (p_source_code => 'LEDGER_CATEGORY_CODE'
14981: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14984: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14985: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14986: )
14987: THEN
14988: xla_ae_lines_pkg.BflowUpgEntry
14989: (p_business_method_code => l_bflow_method_code
14990: ,p_business_class_code => l_bflow_class_code
14991: ,p_balance_type => l_balance_type_code);
14992: ELSE
15001: --
15002: -- call description
15003: --
15004:
15005: xla_ae_lines_pkg.SetLineDescription(
15006: p_ae_header_id => l_ae_header_id
15007: ,p_description => Description_1 (
15008: p_application_id => p_application_id
15009: , p_ae_header_id => l_ae_header_id
15035: , x_value_type_code => l_adr_value_type_code
15036: , p_side => 'NA'
15037: );
15038:
15039: xla_ae_lines_pkg.set_ccid(
15040: p_code_combination_id => l_ccid
15041: , p_value_type_code => l_adr_value_type_code
15042: , p_transaction_coa_id => l_adr_transaction_coa_id
15043: , p_accounting_coa_id => l_adr_accounting_coa_id
15071: xla_accounting_err_pkg.build_message
15072: (p_appli_s_name => 'XLA'
15073: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15074: ,p_token_1 => 'LINE_NUMBER'
15075: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15076: ,p_token_2 => 'LINE_TYPE_NAME'
15077: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15078: l_component_type
15079: ,l_component_code
15107: --
15108: --
15109: ------------------------------------------------------------------------------------------------
15110: -- 4219869 Business Flow
15111: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15112: -- Prior Entry. Currently, the following code is always generated.
15113: ------------------------------------------------------------------------------------------------
15114: XLA_AE_LINES_PKG.ValidateCurrentLine;
15115:
15110: -- 4219869 Business Flow
15111: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15112: -- Prior Entry. Currently, the following code is always generated.
15113: ------------------------------------------------------------------------------------------------
15114: XLA_AE_LINES_PKG.ValidateCurrentLine;
15115:
15116: ------------------------------------------------------------------------------------
15117: -- 4219869 Business Flow
15118: -- Populated credit and debit amounts -- Need to generate this within IF
15116: ------------------------------------------------------------------------------------
15117: -- 4219869 Business Flow
15118: -- Populated credit and debit amounts -- Need to generate this within IF
15119: ------------------------------------------------------------------------------------
15120: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15121:
15122: ----------------------------------------------------------------------------------
15123: -- 4219869 Business Flow
15124: -- Update journal entry status -- Need to generate this within IF
15148: -- To allow MPA report to determine if it should generate report process
15149: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15150: ------------------------------------------------------------------------------------------
15151:
15152: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15153: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15154:
15155: --
15156: -- Update the line information that should be overwritten
15149: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15150: ------------------------------------------------------------------------------------------
15151:
15152: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15153: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15154:
15155: --
15156: -- Update the line information that should be overwritten
15157: --
15154:
15155: --
15156: -- Update the line information that should be overwritten
15157: --
15158: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15159: p_header_num => 1);
15160: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15161:
15162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15156: -- Update the line information that should be overwritten
15157: --
15158: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15159: p_header_num => 1);
15160: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15161:
15162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15163:
15164: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15158: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15159: p_header_num => 1);
15160: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15161:
15162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15163:
15164: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15165: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15166: END IF;
15161:
15162: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15163:
15164: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15165: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15166: END IF;
15167:
15168: --
15169: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15168: --
15169: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15170: --
15171: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15172: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15173: ELSE
15174: ---------------------------------------------------------------------------------------------------
15175: -- 4262811a Switch Sign
15176: ---------------------------------------------------------------------------------------------------
15173: ELSE
15174: ---------------------------------------------------------------------------------------------------
15175: -- 4262811a Switch Sign
15176: ---------------------------------------------------------------------------------------------------
15177: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15174: ---------------------------------------------------------------------------------------------------
15175: -- 4262811a Switch Sign
15176: ---------------------------------------------------------------------------------------------------
15177: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15175: -- 4262811a Switch Sign
15176: ---------------------------------------------------------------------------------------------------
15177: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15176: ---------------------------------------------------------------------------------------------------
15177: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15184: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15177: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15184: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15185:
15179: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15184: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15185:
15186: END IF;
15187:
15180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15181: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15182: -- 5132302
15183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15184: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15185:
15186: END IF;
15187:
15188: -- 4955764
15185:
15186: END IF;
15187:
15188: -- 4955764
15189: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15190: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15191:
15192:
15193: XLA_AE_LINES_PKG.ValidateCurrentLine;
15189: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15190: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15191:
15192:
15193: XLA_AE_LINES_PKG.ValidateCurrentLine;
15194: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15195:
15196: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15197: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15190: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15191:
15192:
15193: XLA_AE_LINES_PKG.ValidateCurrentLine;
15194: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15195:
15196: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15197: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15198: ,p_balance_type_code => l_balance_type_code);
15626: l_first_event_id NUMBER;
15627: l_last_event_id NUMBER;
15628:
15629: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
15630: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15631: --
15632: --
15633: l_result BOOLEAN := TRUE;
15634: l_rows NUMBER := 1000;
15885: EXIT WHEN l_array_entity_id.COUNT = 0;
15886:
15887: -- initialize arrays
15888: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
15889: XLA_AE_LINES_PKG.g_rec_lines := NULL;
15890:
15891: --
15892: -- Bug 4458708
15893: --
15890:
15891: --
15892: -- Bug 4458708
15893: --
15894: XLA_AE_LINES_PKG.g_LineNumber := 0;
15895:
15896:
15897: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
15898: g_last_hdr_idx := l_array_event_id.LAST;
16036: --
16037: -- following sets the accounting attributes needed to reverse
16038: -- accounting for a distributeion
16039: --
16040: xla_ae_lines_pkg.SetTrxReversalAttrs
16041: (p_event_id => l_event_id
16042: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
16043: ,p_trx_reversal_source => l_trx_reversal_source);
16044:
16124: --
16125: -- insert dummy rows into lines gt table that were created due to
16126: -- transaction reversals
16127: --
16128: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
16129: l_result := XLA_AE_LINES_PKG.InsertLines;
16130: END IF;
16131:
16132: --
16125: -- insert dummy rows into lines gt table that were created due to
16126: -- transaction reversals
16127: --
16128: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
16129: l_result := XLA_AE_LINES_PKG.InsertLines;
16130: END IF;
16131:
16132: --
16133: -- reset the temp_line_num for each set of events fetched from header
16133: -- reset the temp_line_num for each set of events fetched from header
16134: -- cursor rather than doing it for each new event in line cursor
16135: -- Bug 3939231
16136: --
16137: xla_ae_lines_pkg.g_temp_line_num := 0;
16138:
16139:
16140:
16141: --
16197: END IF;
16198: --
16199: EXIT WHEN l_array_entity_id.count = 0;
16200:
16201: XLA_AE_LINES_PKG.g_rec_lines := null;
16202:
16203: --
16204: -- Bug 4458708
16205: --
16202:
16203: --
16204: -- Bug 4458708
16205: --
16206: XLA_AE_LINES_PKG.g_LineNumber := 0;
16207: --
16208: --
16209:
16210: FOR Idx IN 1..l_array_event_id.count LOOP
16274:
16275:
16276:
16277: --
16278: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
16279:
16280: l_acct_reversal_source := SUBSTR(NULL, 1,30);
16281:
16282: IF l_continue_with_lines THEN
16310: --
16311:
16312: -- No reversal code generated
16313:
16314: xla_ae_lines_pkg.SetAcctReversalAttrs
16315: (p_event_id => l_event_id
16316: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
16317: ,p_calculate_acctd_flag => l_calculate_acctd_flag
16318: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
16388:
16389: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
16390: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
16391: AND (l_actual_flag = 'A')) THEN
16392: XLA_AE_LINES_PKG.CreateGainOrLossLines(
16393: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
16394: ,p_application_id => p_application_id
16395: ,p_amb_context_code => 'DEFAULT'
16396: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
16421: END IF;
16422: END IF;
16423:
16424: END LOOP;
16425: l_result := XLA_AE_LINES_PKG.InsertLines ;
16426: end loop;
16427: close line_cur;
16428:
16429:
16873: l_first_event_id NUMBER;
16874: l_last_event_id NUMBER;
16875:
16876: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
16877: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16878: --
16879: --
16880: l_result BOOLEAN := TRUE;
16881: l_rows NUMBER := 1000;
17127: EXIT WHEN l_array_entity_id.COUNT = 0;
17128:
17129: -- initialize arrays
17130: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
17131: XLA_AE_LINES_PKG.g_rec_lines := NULL;
17132:
17133: --
17134: -- Bug 4458708
17135: --
17132:
17133: --
17134: -- Bug 4458708
17135: --
17136: XLA_AE_LINES_PKG.g_LineNumber := 0;
17137:
17138:
17139: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
17140: g_last_hdr_idx := l_array_event_id.LAST;
17277: --
17278: -- following sets the accounting attributes needed to reverse
17279: -- accounting for a distributeion
17280: --
17281: xla_ae_lines_pkg.SetTrxReversalAttrs
17282: (p_event_id => l_event_id
17283: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
17284: ,p_trx_reversal_source => l_trx_reversal_source);
17285:
17309: --
17310: -- insert dummy rows into lines gt table that were created due to
17311: -- transaction reversals
17312: --
17313: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
17314: l_result := XLA_AE_LINES_PKG.InsertLines;
17315: END IF;
17316:
17317: --
17310: -- insert dummy rows into lines gt table that were created due to
17311: -- transaction reversals
17312: --
17313: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
17314: l_result := XLA_AE_LINES_PKG.InsertLines;
17315: END IF;
17316:
17317: --
17318: -- reset the temp_line_num for each set of events fetched from header
17318: -- reset the temp_line_num for each set of events fetched from header
17319: -- cursor rather than doing it for each new event in line cursor
17320: -- Bug 3939231
17321: --
17322: xla_ae_lines_pkg.g_temp_line_num := 0;
17323:
17324:
17325:
17326: --
17382: END IF;
17383: --
17384: EXIT WHEN l_array_entity_id.count = 0;
17385:
17386: XLA_AE_LINES_PKG.g_rec_lines := null;
17387:
17388: --
17389: -- Bug 4458708
17390: --
17387:
17388: --
17389: -- Bug 4458708
17390: --
17391: XLA_AE_LINES_PKG.g_LineNumber := 0;
17392: --
17393: --
17394:
17395: FOR Idx IN 1..l_array_event_id.count LOOP
17459:
17460:
17461:
17462: --
17463: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
17464:
17465: l_acct_reversal_source := SUBSTR(NULL, 1,30);
17466:
17467: IF l_continue_with_lines THEN
17495: --
17496:
17497: -- No reversal code generated
17498:
17499: xla_ae_lines_pkg.SetAcctReversalAttrs
17500: (p_event_id => l_event_id
17501: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
17502: ,p_calculate_acctd_flag => l_calculate_acctd_flag
17503: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
17573:
17574: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
17575: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
17576: AND (l_actual_flag = 'A')) THEN
17577: XLA_AE_LINES_PKG.CreateGainOrLossLines(
17578: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
17579: ,p_application_id => p_application_id
17580: ,p_amb_context_code => 'DEFAULT'
17581: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
17606: END IF;
17607: END IF;
17608:
17609: END LOOP;
17610: l_result := XLA_AE_LINES_PKG.InsertLines ;
17611: end loop;
17612: close line_cur;
17613:
17614:
18058: l_first_event_id NUMBER;
18059: l_last_event_id NUMBER;
18060:
18061: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
18062: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18063: --
18064: --
18065: l_result BOOLEAN := TRUE;
18066: l_rows NUMBER := 1000;
18312: EXIT WHEN l_array_entity_id.COUNT = 0;
18313:
18314: -- initialize arrays
18315: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
18316: XLA_AE_LINES_PKG.g_rec_lines := NULL;
18317:
18318: --
18319: -- Bug 4458708
18320: --
18317:
18318: --
18319: -- Bug 4458708
18320: --
18321: XLA_AE_LINES_PKG.g_LineNumber := 0;
18322:
18323:
18324: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
18325: g_last_hdr_idx := l_array_event_id.LAST;
18462: --
18463: -- following sets the accounting attributes needed to reverse
18464: -- accounting for a distributeion
18465: --
18466: xla_ae_lines_pkg.SetTrxReversalAttrs
18467: (p_event_id => l_event_id
18468: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
18469: ,p_trx_reversal_source => l_trx_reversal_source);
18470:
18494: --
18495: -- insert dummy rows into lines gt table that were created due to
18496: -- transaction reversals
18497: --
18498: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
18499: l_result := XLA_AE_LINES_PKG.InsertLines;
18500: END IF;
18501:
18502: --
18495: -- insert dummy rows into lines gt table that were created due to
18496: -- transaction reversals
18497: --
18498: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
18499: l_result := XLA_AE_LINES_PKG.InsertLines;
18500: END IF;
18501:
18502: --
18503: -- reset the temp_line_num for each set of events fetched from header
18503: -- reset the temp_line_num for each set of events fetched from header
18504: -- cursor rather than doing it for each new event in line cursor
18505: -- Bug 3939231
18506: --
18507: xla_ae_lines_pkg.g_temp_line_num := 0;
18508:
18509:
18510:
18511: --
18567: END IF;
18568: --
18569: EXIT WHEN l_array_entity_id.count = 0;
18570:
18571: XLA_AE_LINES_PKG.g_rec_lines := null;
18572:
18573: --
18574: -- Bug 4458708
18575: --
18572:
18573: --
18574: -- Bug 4458708
18575: --
18576: XLA_AE_LINES_PKG.g_LineNumber := 0;
18577: --
18578: --
18579:
18580: FOR Idx IN 1..l_array_event_id.count LOOP
18644:
18645:
18646:
18647: --
18648: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
18649:
18650: l_acct_reversal_source := SUBSTR(NULL, 1,30);
18651:
18652: IF l_continue_with_lines THEN
18680: --
18681:
18682: -- No reversal code generated
18683:
18684: xla_ae_lines_pkg.SetAcctReversalAttrs
18685: (p_event_id => l_event_id
18686: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
18687: ,p_calculate_acctd_flag => l_calculate_acctd_flag
18688: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
18758:
18759: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
18760: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
18761: AND (l_actual_flag = 'A')) THEN
18762: XLA_AE_LINES_PKG.CreateGainOrLossLines(
18763: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
18764: ,p_application_id => p_application_id
18765: ,p_amb_context_code => 'DEFAULT'
18766: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
18791: END IF;
18792: END IF;
18793:
18794: END LOOP;
18795: l_result := XLA_AE_LINES_PKG.InsertLines ;
18796: end loop;
18797: close line_cur;
18798:
18799:
19243: l_first_event_id NUMBER;
19244: l_last_event_id NUMBER;
19245:
19246: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
19247: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19248: --
19249: --
19250: l_result BOOLEAN := TRUE;
19251: l_rows NUMBER := 1000;
19497: EXIT WHEN l_array_entity_id.COUNT = 0;
19498:
19499: -- initialize arrays
19500: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
19501: XLA_AE_LINES_PKG.g_rec_lines := NULL;
19502:
19503: --
19504: -- Bug 4458708
19505: --
19502:
19503: --
19504: -- Bug 4458708
19505: --
19506: XLA_AE_LINES_PKG.g_LineNumber := 0;
19507:
19508:
19509: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
19510: g_last_hdr_idx := l_array_event_id.LAST;
19647: --
19648: -- following sets the accounting attributes needed to reverse
19649: -- accounting for a distributeion
19650: --
19651: xla_ae_lines_pkg.SetTrxReversalAttrs
19652: (p_event_id => l_event_id
19653: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
19654: ,p_trx_reversal_source => l_trx_reversal_source);
19655:
19679: --
19680: -- insert dummy rows into lines gt table that were created due to
19681: -- transaction reversals
19682: --
19683: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
19684: l_result := XLA_AE_LINES_PKG.InsertLines;
19685: END IF;
19686:
19687: --
19680: -- insert dummy rows into lines gt table that were created due to
19681: -- transaction reversals
19682: --
19683: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
19684: l_result := XLA_AE_LINES_PKG.InsertLines;
19685: END IF;
19686:
19687: --
19688: -- reset the temp_line_num for each set of events fetched from header
19688: -- reset the temp_line_num for each set of events fetched from header
19689: -- cursor rather than doing it for each new event in line cursor
19690: -- Bug 3939231
19691: --
19692: xla_ae_lines_pkg.g_temp_line_num := 0;
19693:
19694:
19695:
19696: --
19752: END IF;
19753: --
19754: EXIT WHEN l_array_entity_id.count = 0;
19755:
19756: XLA_AE_LINES_PKG.g_rec_lines := null;
19757:
19758: --
19759: -- Bug 4458708
19760: --
19757:
19758: --
19759: -- Bug 4458708
19760: --
19761: XLA_AE_LINES_PKG.g_LineNumber := 0;
19762: --
19763: --
19764:
19765: FOR Idx IN 1..l_array_event_id.count LOOP
19829:
19830:
19831:
19832: --
19833: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
19834:
19835: l_acct_reversal_source := SUBSTR(NULL, 1,30);
19836:
19837: IF l_continue_with_lines THEN
19865: --
19866:
19867: -- No reversal code generated
19868:
19869: xla_ae_lines_pkg.SetAcctReversalAttrs
19870: (p_event_id => l_event_id
19871: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
19872: ,p_calculate_acctd_flag => l_calculate_acctd_flag
19873: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
19943:
19944: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
19945: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
19946: AND (l_actual_flag = 'A')) THEN
19947: XLA_AE_LINES_PKG.CreateGainOrLossLines(
19948: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
19949: ,p_application_id => p_application_id
19950: ,p_amb_context_code => 'DEFAULT'
19951: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
19976: END IF;
19977: END IF;
19978:
19979: END LOOP;
19980: l_result := XLA_AE_LINES_PKG.InsertLines ;
19981: end loop;
19982: close line_cur;
19983:
19984:
20428: l_first_event_id NUMBER;
20429: l_last_event_id NUMBER;
20430:
20431: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
20432: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20433: --
20434: --
20435: l_result BOOLEAN := TRUE;
20436: l_rows NUMBER := 1000;
20682: EXIT WHEN l_array_entity_id.COUNT = 0;
20683:
20684: -- initialize arrays
20685: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
20686: XLA_AE_LINES_PKG.g_rec_lines := NULL;
20687:
20688: --
20689: -- Bug 4458708
20690: --
20687:
20688: --
20689: -- Bug 4458708
20690: --
20691: XLA_AE_LINES_PKG.g_LineNumber := 0;
20692:
20693:
20694: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
20695: g_last_hdr_idx := l_array_event_id.LAST;
20832: --
20833: -- following sets the accounting attributes needed to reverse
20834: -- accounting for a distributeion
20835: --
20836: xla_ae_lines_pkg.SetTrxReversalAttrs
20837: (p_event_id => l_event_id
20838: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
20839: ,p_trx_reversal_source => l_trx_reversal_source);
20840:
20864: --
20865: -- insert dummy rows into lines gt table that were created due to
20866: -- transaction reversals
20867: --
20868: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
20869: l_result := XLA_AE_LINES_PKG.InsertLines;
20870: END IF;
20871:
20872: --
20865: -- insert dummy rows into lines gt table that were created due to
20866: -- transaction reversals
20867: --
20868: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
20869: l_result := XLA_AE_LINES_PKG.InsertLines;
20870: END IF;
20871:
20872: --
20873: -- reset the temp_line_num for each set of events fetched from header
20873: -- reset the temp_line_num for each set of events fetched from header
20874: -- cursor rather than doing it for each new event in line cursor
20875: -- Bug 3939231
20876: --
20877: xla_ae_lines_pkg.g_temp_line_num := 0;
20878:
20879:
20880:
20881: --
20937: END IF;
20938: --
20939: EXIT WHEN l_array_entity_id.count = 0;
20940:
20941: XLA_AE_LINES_PKG.g_rec_lines := null;
20942:
20943: --
20944: -- Bug 4458708
20945: --
20942:
20943: --
20944: -- Bug 4458708
20945: --
20946: XLA_AE_LINES_PKG.g_LineNumber := 0;
20947: --
20948: --
20949:
20950: FOR Idx IN 1..l_array_event_id.count LOOP
21014:
21015:
21016:
21017: --
21018: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
21019:
21020: l_acct_reversal_source := SUBSTR(NULL, 1,30);
21021:
21022: IF l_continue_with_lines THEN
21050: --
21051:
21052: -- No reversal code generated
21053:
21054: xla_ae_lines_pkg.SetAcctReversalAttrs
21055: (p_event_id => l_event_id
21056: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
21057: ,p_calculate_acctd_flag => l_calculate_acctd_flag
21058: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
21128:
21129: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
21130: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
21131: AND (l_actual_flag = 'A')) THEN
21132: XLA_AE_LINES_PKG.CreateGainOrLossLines(
21133: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
21134: ,p_application_id => p_application_id
21135: ,p_amb_context_code => 'DEFAULT'
21136: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
21161: END IF;
21162: END IF;
21163:
21164: END LOOP;
21165: l_result := XLA_AE_LINES_PKG.InsertLines ;
21166: end loop;
21167: close line_cur;
21168:
21169:
21613: l_first_event_id NUMBER;
21614: l_last_event_id NUMBER;
21615:
21616: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
21617: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21618: --
21619: --
21620: l_result BOOLEAN := TRUE;
21621: l_rows NUMBER := 1000;
21867: EXIT WHEN l_array_entity_id.COUNT = 0;
21868:
21869: -- initialize arrays
21870: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
21871: XLA_AE_LINES_PKG.g_rec_lines := NULL;
21872:
21873: --
21874: -- Bug 4458708
21875: --
21872:
21873: --
21874: -- Bug 4458708
21875: --
21876: XLA_AE_LINES_PKG.g_LineNumber := 0;
21877:
21878:
21879: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
21880: g_last_hdr_idx := l_array_event_id.LAST;
22017: --
22018: -- following sets the accounting attributes needed to reverse
22019: -- accounting for a distributeion
22020: --
22021: xla_ae_lines_pkg.SetTrxReversalAttrs
22022: (p_event_id => l_event_id
22023: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
22024: ,p_trx_reversal_source => l_trx_reversal_source);
22025:
22049: --
22050: -- insert dummy rows into lines gt table that were created due to
22051: -- transaction reversals
22052: --
22053: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
22054: l_result := XLA_AE_LINES_PKG.InsertLines;
22055: END IF;
22056:
22057: --
22050: -- insert dummy rows into lines gt table that were created due to
22051: -- transaction reversals
22052: --
22053: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
22054: l_result := XLA_AE_LINES_PKG.InsertLines;
22055: END IF;
22056:
22057: --
22058: -- reset the temp_line_num for each set of events fetched from header
22058: -- reset the temp_line_num for each set of events fetched from header
22059: -- cursor rather than doing it for each new event in line cursor
22060: -- Bug 3939231
22061: --
22062: xla_ae_lines_pkg.g_temp_line_num := 0;
22063:
22064:
22065:
22066: --
22122: END IF;
22123: --
22124: EXIT WHEN l_array_entity_id.count = 0;
22125:
22126: XLA_AE_LINES_PKG.g_rec_lines := null;
22127:
22128: --
22129: -- Bug 4458708
22130: --
22127:
22128: --
22129: -- Bug 4458708
22130: --
22131: XLA_AE_LINES_PKG.g_LineNumber := 0;
22132: --
22133: --
22134:
22135: FOR Idx IN 1..l_array_event_id.count LOOP
22199:
22200:
22201:
22202: --
22203: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
22204:
22205: l_acct_reversal_source := SUBSTR(NULL, 1,30);
22206:
22207: IF l_continue_with_lines THEN
22235: --
22236:
22237: -- No reversal code generated
22238:
22239: xla_ae_lines_pkg.SetAcctReversalAttrs
22240: (p_event_id => l_event_id
22241: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
22242: ,p_calculate_acctd_flag => l_calculate_acctd_flag
22243: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
22313:
22314: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
22315: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
22316: AND (l_actual_flag = 'A')) THEN
22317: XLA_AE_LINES_PKG.CreateGainOrLossLines(
22318: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
22319: ,p_application_id => p_application_id
22320: ,p_amb_context_code => 'DEFAULT'
22321: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
22346: END IF;
22347: END IF;
22348:
22349: END LOOP;
22350: l_result := XLA_AE_LINES_PKG.InsertLines ;
22351: end loop;
22352: close line_cur;
22353:
22354:
22798: l_first_event_id NUMBER;
22799: l_last_event_id NUMBER;
22800:
22801: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
22802: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22803: --
22804: --
22805: l_result BOOLEAN := TRUE;
22806: l_rows NUMBER := 1000;
23052: EXIT WHEN l_array_entity_id.COUNT = 0;
23053:
23054: -- initialize arrays
23055: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
23056: XLA_AE_LINES_PKG.g_rec_lines := NULL;
23057:
23058: --
23059: -- Bug 4458708
23060: --
23057:
23058: --
23059: -- Bug 4458708
23060: --
23061: XLA_AE_LINES_PKG.g_LineNumber := 0;
23062:
23063:
23064: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
23065: g_last_hdr_idx := l_array_event_id.LAST;
23202: --
23203: -- following sets the accounting attributes needed to reverse
23204: -- accounting for a distributeion
23205: --
23206: xla_ae_lines_pkg.SetTrxReversalAttrs
23207: (p_event_id => l_event_id
23208: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
23209: ,p_trx_reversal_source => l_trx_reversal_source);
23210:
23234: --
23235: -- insert dummy rows into lines gt table that were created due to
23236: -- transaction reversals
23237: --
23238: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
23239: l_result := XLA_AE_LINES_PKG.InsertLines;
23240: END IF;
23241:
23242: --
23235: -- insert dummy rows into lines gt table that were created due to
23236: -- transaction reversals
23237: --
23238: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
23239: l_result := XLA_AE_LINES_PKG.InsertLines;
23240: END IF;
23241:
23242: --
23243: -- reset the temp_line_num for each set of events fetched from header
23243: -- reset the temp_line_num for each set of events fetched from header
23244: -- cursor rather than doing it for each new event in line cursor
23245: -- Bug 3939231
23246: --
23247: xla_ae_lines_pkg.g_temp_line_num := 0;
23248:
23249:
23250:
23251: --
23307: END IF;
23308: --
23309: EXIT WHEN l_array_entity_id.count = 0;
23310:
23311: XLA_AE_LINES_PKG.g_rec_lines := null;
23312:
23313: --
23314: -- Bug 4458708
23315: --
23312:
23313: --
23314: -- Bug 4458708
23315: --
23316: XLA_AE_LINES_PKG.g_LineNumber := 0;
23317: --
23318: --
23319:
23320: FOR Idx IN 1..l_array_event_id.count LOOP
23384:
23385:
23386:
23387: --
23388: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
23389:
23390: l_acct_reversal_source := SUBSTR(NULL, 1,30);
23391:
23392: IF l_continue_with_lines THEN
23420: --
23421:
23422: -- No reversal code generated
23423:
23424: xla_ae_lines_pkg.SetAcctReversalAttrs
23425: (p_event_id => l_event_id
23426: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
23427: ,p_calculate_acctd_flag => l_calculate_acctd_flag
23428: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
23498:
23499: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
23500: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
23501: AND (l_actual_flag = 'A')) THEN
23502: XLA_AE_LINES_PKG.CreateGainOrLossLines(
23503: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
23504: ,p_application_id => p_application_id
23505: ,p_amb_context_code => 'DEFAULT'
23506: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
23531: END IF;
23532: END IF;
23533:
23534: END LOOP;
23535: l_result := XLA_AE_LINES_PKG.InsertLines ;
23536: end loop;
23537: close line_cur;
23538:
23539:
23983: l_first_event_id NUMBER;
23984: l_last_event_id NUMBER;
23985:
23986: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
23987: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23988: --
23989: --
23990: l_result BOOLEAN := TRUE;
23991: l_rows NUMBER := 1000;
24237: EXIT WHEN l_array_entity_id.COUNT = 0;
24238:
24239: -- initialize arrays
24240: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
24241: XLA_AE_LINES_PKG.g_rec_lines := NULL;
24242:
24243: --
24244: -- Bug 4458708
24245: --
24242:
24243: --
24244: -- Bug 4458708
24245: --
24246: XLA_AE_LINES_PKG.g_LineNumber := 0;
24247:
24248:
24249: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
24250: g_last_hdr_idx := l_array_event_id.LAST;
24387: --
24388: -- following sets the accounting attributes needed to reverse
24389: -- accounting for a distributeion
24390: --
24391: xla_ae_lines_pkg.SetTrxReversalAttrs
24392: (p_event_id => l_event_id
24393: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
24394: ,p_trx_reversal_source => l_trx_reversal_source);
24395:
24419: --
24420: -- insert dummy rows into lines gt table that were created due to
24421: -- transaction reversals
24422: --
24423: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
24424: l_result := XLA_AE_LINES_PKG.InsertLines;
24425: END IF;
24426:
24427: --
24420: -- insert dummy rows into lines gt table that were created due to
24421: -- transaction reversals
24422: --
24423: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
24424: l_result := XLA_AE_LINES_PKG.InsertLines;
24425: END IF;
24426:
24427: --
24428: -- reset the temp_line_num for each set of events fetched from header
24428: -- reset the temp_line_num for each set of events fetched from header
24429: -- cursor rather than doing it for each new event in line cursor
24430: -- Bug 3939231
24431: --
24432: xla_ae_lines_pkg.g_temp_line_num := 0;
24433:
24434:
24435:
24436: --
24492: END IF;
24493: --
24494: EXIT WHEN l_array_entity_id.count = 0;
24495:
24496: XLA_AE_LINES_PKG.g_rec_lines := null;
24497:
24498: --
24499: -- Bug 4458708
24500: --
24497:
24498: --
24499: -- Bug 4458708
24500: --
24501: XLA_AE_LINES_PKG.g_LineNumber := 0;
24502: --
24503: --
24504:
24505: FOR Idx IN 1..l_array_event_id.count LOOP
24569:
24570:
24571:
24572: --
24573: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
24574:
24575: l_acct_reversal_source := SUBSTR(NULL, 1,30);
24576:
24577: IF l_continue_with_lines THEN
24605: --
24606:
24607: -- No reversal code generated
24608:
24609: xla_ae_lines_pkg.SetAcctReversalAttrs
24610: (p_event_id => l_event_id
24611: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
24612: ,p_calculate_acctd_flag => l_calculate_acctd_flag
24613: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
24683:
24684: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
24685: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
24686: AND (l_actual_flag = 'A')) THEN
24687: XLA_AE_LINES_PKG.CreateGainOrLossLines(
24688: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
24689: ,p_application_id => p_application_id
24690: ,p_amb_context_code => 'DEFAULT'
24691: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
24716: END IF;
24717: END IF;
24718:
24719: END LOOP;
24720: l_result := XLA_AE_LINES_PKG.InsertLines ;
24721: end loop;
24722: close line_cur;
24723:
24724:
25168: l_first_event_id NUMBER;
25169: l_last_event_id NUMBER;
25170:
25171: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
25172: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25173: --
25174: --
25175: l_result BOOLEAN := TRUE;
25176: l_rows NUMBER := 1000;
25422: EXIT WHEN l_array_entity_id.COUNT = 0;
25423:
25424: -- initialize arrays
25425: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
25426: XLA_AE_LINES_PKG.g_rec_lines := NULL;
25427:
25428: --
25429: -- Bug 4458708
25430: --
25427:
25428: --
25429: -- Bug 4458708
25430: --
25431: XLA_AE_LINES_PKG.g_LineNumber := 0;
25432:
25433:
25434: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
25435: g_last_hdr_idx := l_array_event_id.LAST;
25572: --
25573: -- following sets the accounting attributes needed to reverse
25574: -- accounting for a distributeion
25575: --
25576: xla_ae_lines_pkg.SetTrxReversalAttrs
25577: (p_event_id => l_event_id
25578: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
25579: ,p_trx_reversal_source => l_trx_reversal_source);
25580:
25604: --
25605: -- insert dummy rows into lines gt table that were created due to
25606: -- transaction reversals
25607: --
25608: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
25609: l_result := XLA_AE_LINES_PKG.InsertLines;
25610: END IF;
25611:
25612: --
25605: -- insert dummy rows into lines gt table that were created due to
25606: -- transaction reversals
25607: --
25608: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
25609: l_result := XLA_AE_LINES_PKG.InsertLines;
25610: END IF;
25611:
25612: --
25613: -- reset the temp_line_num for each set of events fetched from header
25613: -- reset the temp_line_num for each set of events fetched from header
25614: -- cursor rather than doing it for each new event in line cursor
25615: -- Bug 3939231
25616: --
25617: xla_ae_lines_pkg.g_temp_line_num := 0;
25618:
25619:
25620:
25621: --
25677: END IF;
25678: --
25679: EXIT WHEN l_array_entity_id.count = 0;
25680:
25681: XLA_AE_LINES_PKG.g_rec_lines := null;
25682:
25683: --
25684: -- Bug 4458708
25685: --
25682:
25683: --
25684: -- Bug 4458708
25685: --
25686: XLA_AE_LINES_PKG.g_LineNumber := 0;
25687: --
25688: --
25689:
25690: FOR Idx IN 1..l_array_event_id.count LOOP
25754:
25755:
25756:
25757: --
25758: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
25759:
25760: l_acct_reversal_source := SUBSTR(NULL, 1,30);
25761:
25762: IF l_continue_with_lines THEN
25790: --
25791:
25792: -- No reversal code generated
25793:
25794: xla_ae_lines_pkg.SetAcctReversalAttrs
25795: (p_event_id => l_event_id
25796: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
25797: ,p_calculate_acctd_flag => l_calculate_acctd_flag
25798: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
25868:
25869: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
25870: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
25871: AND (l_actual_flag = 'A')) THEN
25872: XLA_AE_LINES_PKG.CreateGainOrLossLines(
25873: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
25874: ,p_application_id => p_application_id
25875: ,p_amb_context_code => 'DEFAULT'
25876: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
25901: END IF;
25902: END IF;
25903:
25904: END LOOP;
25905: l_result := XLA_AE_LINES_PKG.InsertLines ;
25906: end loop;
25907: close line_cur;
25908:
25909:
26353: l_first_event_id NUMBER;
26354: l_last_event_id NUMBER;
26355:
26356: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
26357: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26358: --
26359: --
26360: l_result BOOLEAN := TRUE;
26361: l_rows NUMBER := 1000;
26607: EXIT WHEN l_array_entity_id.COUNT = 0;
26608:
26609: -- initialize arrays
26610: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
26611: XLA_AE_LINES_PKG.g_rec_lines := NULL;
26612:
26613: --
26614: -- Bug 4458708
26615: --
26612:
26613: --
26614: -- Bug 4458708
26615: --
26616: XLA_AE_LINES_PKG.g_LineNumber := 0;
26617:
26618:
26619: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
26620: g_last_hdr_idx := l_array_event_id.LAST;
26757: --
26758: -- following sets the accounting attributes needed to reverse
26759: -- accounting for a distributeion
26760: --
26761: xla_ae_lines_pkg.SetTrxReversalAttrs
26762: (p_event_id => l_event_id
26763: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
26764: ,p_trx_reversal_source => l_trx_reversal_source);
26765:
26789: --
26790: -- insert dummy rows into lines gt table that were created due to
26791: -- transaction reversals
26792: --
26793: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
26794: l_result := XLA_AE_LINES_PKG.InsertLines;
26795: END IF;
26796:
26797: --
26790: -- insert dummy rows into lines gt table that were created due to
26791: -- transaction reversals
26792: --
26793: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
26794: l_result := XLA_AE_LINES_PKG.InsertLines;
26795: END IF;
26796:
26797: --
26798: -- reset the temp_line_num for each set of events fetched from header
26798: -- reset the temp_line_num for each set of events fetched from header
26799: -- cursor rather than doing it for each new event in line cursor
26800: -- Bug 3939231
26801: --
26802: xla_ae_lines_pkg.g_temp_line_num := 0;
26803:
26804:
26805:
26806: --
26862: END IF;
26863: --
26864: EXIT WHEN l_array_entity_id.count = 0;
26865:
26866: XLA_AE_LINES_PKG.g_rec_lines := null;
26867:
26868: --
26869: -- Bug 4458708
26870: --
26867:
26868: --
26869: -- Bug 4458708
26870: --
26871: XLA_AE_LINES_PKG.g_LineNumber := 0;
26872: --
26873: --
26874:
26875: FOR Idx IN 1..l_array_event_id.count LOOP
26939:
26940:
26941:
26942: --
26943: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
26944:
26945: l_acct_reversal_source := SUBSTR(NULL, 1,30);
26946:
26947: IF l_continue_with_lines THEN
26975: --
26976:
26977: -- No reversal code generated
26978:
26979: xla_ae_lines_pkg.SetAcctReversalAttrs
26980: (p_event_id => l_event_id
26981: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
26982: ,p_calculate_acctd_flag => l_calculate_acctd_flag
26983: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
27053:
27054: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
27055: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
27056: AND (l_actual_flag = 'A')) THEN
27057: XLA_AE_LINES_PKG.CreateGainOrLossLines(
27058: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
27059: ,p_application_id => p_application_id
27060: ,p_amb_context_code => 'DEFAULT'
27061: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
27086: END IF;
27087: END IF;
27088:
27089: END LOOP;
27090: l_result := XLA_AE_LINES_PKG.InsertLines ;
27091: end loop;
27092: close line_cur;
27093:
27094:
27538: l_first_event_id NUMBER;
27539: l_last_event_id NUMBER;
27540:
27541: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
27542: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27543: --
27544: --
27545: l_result BOOLEAN := TRUE;
27546: l_rows NUMBER := 1000;
27792: EXIT WHEN l_array_entity_id.COUNT = 0;
27793:
27794: -- initialize arrays
27795: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
27796: XLA_AE_LINES_PKG.g_rec_lines := NULL;
27797:
27798: --
27799: -- Bug 4458708
27800: --
27797:
27798: --
27799: -- Bug 4458708
27800: --
27801: XLA_AE_LINES_PKG.g_LineNumber := 0;
27802:
27803:
27804: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
27805: g_last_hdr_idx := l_array_event_id.LAST;
27942: --
27943: -- following sets the accounting attributes needed to reverse
27944: -- accounting for a distributeion
27945: --
27946: xla_ae_lines_pkg.SetTrxReversalAttrs
27947: (p_event_id => l_event_id
27948: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
27949: ,p_trx_reversal_source => l_trx_reversal_source);
27950:
27974: --
27975: -- insert dummy rows into lines gt table that were created due to
27976: -- transaction reversals
27977: --
27978: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
27979: l_result := XLA_AE_LINES_PKG.InsertLines;
27980: END IF;
27981:
27982: --
27975: -- insert dummy rows into lines gt table that were created due to
27976: -- transaction reversals
27977: --
27978: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
27979: l_result := XLA_AE_LINES_PKG.InsertLines;
27980: END IF;
27981:
27982: --
27983: -- reset the temp_line_num for each set of events fetched from header
27983: -- reset the temp_line_num for each set of events fetched from header
27984: -- cursor rather than doing it for each new event in line cursor
27985: -- Bug 3939231
27986: --
27987: xla_ae_lines_pkg.g_temp_line_num := 0;
27988:
27989:
27990:
27991: --
28047: END IF;
28048: --
28049: EXIT WHEN l_array_entity_id.count = 0;
28050:
28051: XLA_AE_LINES_PKG.g_rec_lines := null;
28052:
28053: --
28054: -- Bug 4458708
28055: --
28052:
28053: --
28054: -- Bug 4458708
28055: --
28056: XLA_AE_LINES_PKG.g_LineNumber := 0;
28057: --
28058: --
28059:
28060: FOR Idx IN 1..l_array_event_id.count LOOP
28124:
28125:
28126:
28127: --
28128: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
28129:
28130: l_acct_reversal_source := SUBSTR(NULL, 1,30);
28131:
28132: IF l_continue_with_lines THEN
28160: --
28161:
28162: -- No reversal code generated
28163:
28164: xla_ae_lines_pkg.SetAcctReversalAttrs
28165: (p_event_id => l_event_id
28166: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
28167: ,p_calculate_acctd_flag => l_calculate_acctd_flag
28168: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
28238:
28239: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
28240: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
28241: AND (l_actual_flag = 'A')) THEN
28242: XLA_AE_LINES_PKG.CreateGainOrLossLines(
28243: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
28244: ,p_application_id => p_application_id
28245: ,p_amb_context_code => 'DEFAULT'
28246: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
28271: END IF;
28272: END IF;
28273:
28274: END LOOP;
28275: l_result := XLA_AE_LINES_PKG.InsertLines ;
28276: end loop;
28277: close line_cur;
28278:
28279:
28718: l_first_event_id NUMBER;
28719: l_last_event_id NUMBER;
28720:
28721: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
28722: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28723: --
28724: --
28725: l_result BOOLEAN := TRUE;
28726: l_rows NUMBER := 1000;
28968: EXIT WHEN l_array_entity_id.COUNT = 0;
28969:
28970: -- initialize arrays
28971: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
28972: XLA_AE_LINES_PKG.g_rec_lines := NULL;
28973:
28974: --
28975: -- Bug 4458708
28976: --
28973:
28974: --
28975: -- Bug 4458708
28976: --
28977: XLA_AE_LINES_PKG.g_LineNumber := 0;
28978:
28979:
28980: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
28981: g_last_hdr_idx := l_array_event_id.LAST;
29105: --
29106: -- following sets the accounting attributes needed to reverse
29107: -- accounting for a distributeion
29108: --
29109: xla_ae_lines_pkg.SetTrxReversalAttrs
29110: (p_event_id => l_event_id
29111: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
29112: ,p_trx_reversal_source => l_trx_reversal_source);
29113:
29137: --
29138: -- insert dummy rows into lines gt table that were created due to
29139: -- transaction reversals
29140: --
29141: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
29142: l_result := XLA_AE_LINES_PKG.InsertLines;
29143: END IF;
29144:
29145: --
29138: -- insert dummy rows into lines gt table that were created due to
29139: -- transaction reversals
29140: --
29141: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
29142: l_result := XLA_AE_LINES_PKG.InsertLines;
29143: END IF;
29144:
29145: --
29146: -- reset the temp_line_num for each set of events fetched from header
29146: -- reset the temp_line_num for each set of events fetched from header
29147: -- cursor rather than doing it for each new event in line cursor
29148: -- Bug 3939231
29149: --
29150: xla_ae_lines_pkg.g_temp_line_num := 0;
29151:
29152:
29153:
29154: --
29210: END IF;
29211: --
29212: EXIT WHEN l_array_entity_id.count = 0;
29213:
29214: XLA_AE_LINES_PKG.g_rec_lines := null;
29215:
29216: --
29217: -- Bug 4458708
29218: --
29215:
29216: --
29217: -- Bug 4458708
29218: --
29219: XLA_AE_LINES_PKG.g_LineNumber := 0;
29220: --
29221: --
29222:
29223: FOR Idx IN 1..l_array_event_id.count LOOP
29287:
29288:
29289:
29290: --
29291: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
29292:
29293: l_acct_reversal_source := SUBSTR(NULL, 1,30);
29294:
29295: IF l_continue_with_lines THEN
29323: --
29324:
29325: -- No reversal code generated
29326:
29327: xla_ae_lines_pkg.SetAcctReversalAttrs
29328: (p_event_id => l_event_id
29329: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
29330: ,p_calculate_acctd_flag => l_calculate_acctd_flag
29331: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
29401:
29402: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
29403: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
29404: AND (l_actual_flag = 'A')) THEN
29405: XLA_AE_LINES_PKG.CreateGainOrLossLines(
29406: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
29407: ,p_application_id => p_application_id
29408: ,p_amb_context_code => 'DEFAULT'
29409: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
29434: END IF;
29435: END IF;
29436:
29437: END LOOP;
29438: l_result := XLA_AE_LINES_PKG.InsertLines ;
29439: end loop;
29440: close line_cur;
29441:
29442:
29886: l_first_event_id NUMBER;
29887: l_last_event_id NUMBER;
29888:
29889: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
29890: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29891: --
29892: --
29893: l_result BOOLEAN := TRUE;
29894: l_rows NUMBER := 1000;
30140: EXIT WHEN l_array_entity_id.COUNT = 0;
30141:
30142: -- initialize arrays
30143: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
30144: XLA_AE_LINES_PKG.g_rec_lines := NULL;
30145:
30146: --
30147: -- Bug 4458708
30148: --
30145:
30146: --
30147: -- Bug 4458708
30148: --
30149: XLA_AE_LINES_PKG.g_LineNumber := 0;
30150:
30151:
30152: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
30153: g_last_hdr_idx := l_array_event_id.LAST;
30290: --
30291: -- following sets the accounting attributes needed to reverse
30292: -- accounting for a distributeion
30293: --
30294: xla_ae_lines_pkg.SetTrxReversalAttrs
30295: (p_event_id => l_event_id
30296: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
30297: ,p_trx_reversal_source => l_trx_reversal_source);
30298:
30322: --
30323: -- insert dummy rows into lines gt table that were created due to
30324: -- transaction reversals
30325: --
30326: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
30327: l_result := XLA_AE_LINES_PKG.InsertLines;
30328: END IF;
30329:
30330: --
30323: -- insert dummy rows into lines gt table that were created due to
30324: -- transaction reversals
30325: --
30326: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
30327: l_result := XLA_AE_LINES_PKG.InsertLines;
30328: END IF;
30329:
30330: --
30331: -- reset the temp_line_num for each set of events fetched from header
30331: -- reset the temp_line_num for each set of events fetched from header
30332: -- cursor rather than doing it for each new event in line cursor
30333: -- Bug 3939231
30334: --
30335: xla_ae_lines_pkg.g_temp_line_num := 0;
30336:
30337:
30338:
30339: --
30395: END IF;
30396: --
30397: EXIT WHEN l_array_entity_id.count = 0;
30398:
30399: XLA_AE_LINES_PKG.g_rec_lines := null;
30400:
30401: --
30402: -- Bug 4458708
30403: --
30400:
30401: --
30402: -- Bug 4458708
30403: --
30404: XLA_AE_LINES_PKG.g_LineNumber := 0;
30405: --
30406: --
30407:
30408: FOR Idx IN 1..l_array_event_id.count LOOP
30472:
30473:
30474:
30475: --
30476: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
30477:
30478: l_acct_reversal_source := SUBSTR(NULL, 1,30);
30479:
30480: IF l_continue_with_lines THEN
30508: --
30509:
30510: -- No reversal code generated
30511:
30512: xla_ae_lines_pkg.SetAcctReversalAttrs
30513: (p_event_id => l_event_id
30514: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
30515: ,p_calculate_acctd_flag => l_calculate_acctd_flag
30516: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
30586:
30587: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
30588: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
30589: AND (l_actual_flag = 'A')) THEN
30590: XLA_AE_LINES_PKG.CreateGainOrLossLines(
30591: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
30592: ,p_application_id => p_application_id
30593: ,p_amb_context_code => 'DEFAULT'
30594: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
30619: END IF;
30620: END IF;
30621:
30622: END LOOP;
30623: l_result := XLA_AE_LINES_PKG.InsertLines ;
30624: end loop;
30625: close line_cur;
30626:
30627:
31071: l_first_event_id NUMBER;
31072: l_last_event_id NUMBER;
31073:
31074: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
31075: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31076: --
31077: --
31078: l_result BOOLEAN := TRUE;
31079: l_rows NUMBER := 1000;
31325: EXIT WHEN l_array_entity_id.COUNT = 0;
31326:
31327: -- initialize arrays
31328: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
31329: XLA_AE_LINES_PKG.g_rec_lines := NULL;
31330:
31331: --
31332: -- Bug 4458708
31333: --
31330:
31331: --
31332: -- Bug 4458708
31333: --
31334: XLA_AE_LINES_PKG.g_LineNumber := 0;
31335:
31336:
31337: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
31338: g_last_hdr_idx := l_array_event_id.LAST;
31475: --
31476: -- following sets the accounting attributes needed to reverse
31477: -- accounting for a distributeion
31478: --
31479: xla_ae_lines_pkg.SetTrxReversalAttrs
31480: (p_event_id => l_event_id
31481: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
31482: ,p_trx_reversal_source => l_trx_reversal_source);
31483:
31507: --
31508: -- insert dummy rows into lines gt table that were created due to
31509: -- transaction reversals
31510: --
31511: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
31512: l_result := XLA_AE_LINES_PKG.InsertLines;
31513: END IF;
31514:
31515: --
31508: -- insert dummy rows into lines gt table that were created due to
31509: -- transaction reversals
31510: --
31511: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
31512: l_result := XLA_AE_LINES_PKG.InsertLines;
31513: END IF;
31514:
31515: --
31516: -- reset the temp_line_num for each set of events fetched from header
31516: -- reset the temp_line_num for each set of events fetched from header
31517: -- cursor rather than doing it for each new event in line cursor
31518: -- Bug 3939231
31519: --
31520: xla_ae_lines_pkg.g_temp_line_num := 0;
31521:
31522:
31523:
31524: --
31580: END IF;
31581: --
31582: EXIT WHEN l_array_entity_id.count = 0;
31583:
31584: XLA_AE_LINES_PKG.g_rec_lines := null;
31585:
31586: --
31587: -- Bug 4458708
31588: --
31585:
31586: --
31587: -- Bug 4458708
31588: --
31589: XLA_AE_LINES_PKG.g_LineNumber := 0;
31590: --
31591: --
31592:
31593: FOR Idx IN 1..l_array_event_id.count LOOP
31657:
31658:
31659:
31660: --
31661: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
31662:
31663: l_acct_reversal_source := SUBSTR(NULL, 1,30);
31664:
31665: IF l_continue_with_lines THEN
31693: --
31694:
31695: -- No reversal code generated
31696:
31697: xla_ae_lines_pkg.SetAcctReversalAttrs
31698: (p_event_id => l_event_id
31699: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
31700: ,p_calculate_acctd_flag => l_calculate_acctd_flag
31701: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
31771:
31772: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
31773: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
31774: AND (l_actual_flag = 'A')) THEN
31775: XLA_AE_LINES_PKG.CreateGainOrLossLines(
31776: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
31777: ,p_application_id => p_application_id
31778: ,p_amb_context_code => 'DEFAULT'
31779: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
31804: END IF;
31805: END IF;
31806:
31807: END LOOP;
31808: l_result := XLA_AE_LINES_PKG.InsertLines ;
31809: end loop;
31810: close line_cur;
31811:
31812:
31904:
31905: --
31906: -- initialize array of lines with NULL
31907: --
31908: xla_ae_lines_pkg.SetNullLine;
31909:
31910: --
31911: -- initialize header extract count -- Bug 4865292
31912: --