2498: --
2499: -- bulk performance
2500: --
2501: l_balance_type_code VARCHAR2(1);
2502: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2503: l_log_module VARCHAR2(240);
2504:
2505: --
2506: -- Upgrade strategy
2584: ') = 'Partial')
2585: THEN
2586:
2587: --
2588: XLA_AE_LINES_PKG.SetNewLine;
2589:
2590: p_balance_type_code := l_balance_type_code;
2591: -- set the flag so later we will know whether the gain loss line needs to be created
2592:
2596:
2597: --
2598: -- bulk performance
2599: --
2600: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2601: p_header_num => 0); -- 4262811
2602: --
2603: -- set accounting line options
2604: --
2601: p_header_num => 0); -- 4262811
2602: --
2603: -- set accounting line options
2604: --
2605: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2606: p_natural_side_code => 'D'
2607: , p_gain_or_loss_flag => 'N'
2608: , p_gl_transfer_mode_code => 'S'
2609: , p_acct_entry_type_code => 'A'
2615: --
2616: --
2617: -- set accounting line type info
2618: --
2619: xla_ae_lines_pkg.SetAcctLineType
2620: (p_component_type => l_component_type
2621: ,p_event_type_code => l_event_type_code
2622: ,p_line_definition_owner_code => l_line_definition_owner_code
2623: ,p_line_definition_code => l_line_definition_code
2629: ,p_event_class_code => l_event_class_code);
2630: --
2631: -- set accounting class
2632: --
2633: xla_ae_lines_pkg.SetAcctClass(
2634: p_accounting_class_code => 'ACCOUNTSPAYABLE'
2635: , p_ae_header_id => l_ae_header_id
2636: );
2637:
2637:
2638: --
2639: -- set rounding class
2640: --
2641: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2642: 'ACCOUNTSPAYABLE';
2643:
2644: --
2645: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2641: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2642: 'ACCOUNTSPAYABLE';
2643:
2644: --
2645: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2646: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2647: --
2648: -- bulk performance
2649: --
2642: 'ACCOUNTSPAYABLE';
2643:
2644: --
2645: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2646: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2647: --
2648: -- bulk performance
2649: --
2650: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2646: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2647: --
2648: -- bulk performance
2649: --
2650: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2651:
2652: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2653: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2654:
2648: -- bulk performance
2649: --
2650: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2651:
2652: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2653: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2654:
2655: -- 4955764
2656: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2652: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2653: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2654:
2655: -- 4955764
2656: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2657: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2658:
2659: -- 4458381 Public Sector Enh
2660:
2760: l_rec_acct_attrs.array_num_value(42) := p_source_51;
2761: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
2762: l_rec_acct_attrs.array_num_value(43) := p_source_52;
2763:
2764: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2765: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2766:
2767: ---------------------------------------------------------------------------------------------------------------
2768: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2761: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
2762: l_rec_acct_attrs.array_num_value(43) := p_source_52;
2763:
2764: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2765: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2766:
2767: ---------------------------------------------------------------------------------------------------------------
2768: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2769: ---------------------------------------------------------------------------------------------------------------
2764: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2765: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2766:
2767: ---------------------------------------------------------------------------------------------------------------
2768: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2769: ---------------------------------------------------------------------------------------------------------------
2770: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2771:
2772: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2766:
2767: ---------------------------------------------------------------------------------------------------------------
2768: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2769: ---------------------------------------------------------------------------------------------------------------
2770: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2771:
2772: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2773: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2774:
2768: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2769: ---------------------------------------------------------------------------------------------------------------
2770: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2771:
2772: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2773: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2774:
2775: IF xla_accounting_cache_pkg.GetValueChar
2776: (p_source_code => 'LEDGER_CATEGORY_CODE'
2769: ---------------------------------------------------------------------------------------------------------------
2770: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2771:
2772: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2773: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2774:
2775: IF xla_accounting_cache_pkg.GetValueChar
2776: (p_source_code => 'LEDGER_CATEGORY_CODE'
2777: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2780: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2781: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2782: )
2783: THEN
2784: xla_ae_lines_pkg.BflowUpgEntry
2785: (p_business_method_code => l_bflow_method_code
2786: ,p_business_class_code => l_bflow_class_code
2787: ,p_balance_type => l_balance_type_code);
2788: ELSE
2797: --
2798: -- call description
2799: --
2800:
2801: xla_ae_lines_pkg.SetLineDescription(
2802: p_ae_header_id => l_ae_header_id
2803: ,p_description => Description_2 (
2804: p_application_id => p_application_id
2805: , p_ae_header_id => l_ae_header_id
2830: , x_value_type_code => l_adr_value_type_code
2831: , p_side => 'NA'
2832: );
2833:
2834: xla_ae_lines_pkg.set_ccid(
2835: p_code_combination_id => l_ccid
2836: , p_value_type_code => l_adr_value_type_code
2837: , p_transaction_coa_id => l_adr_transaction_coa_id
2838: , p_accounting_coa_id => l_adr_accounting_coa_id
2863: );
2864:
2865: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
2866:
2867: xla_ae_lines_pkg.set_segment(
2868: p_to_segment_code => 'GL_ACCOUNT'
2869: , p_segment_value => l_segment
2870: , p_from_segment_code => l_adr_value_segment_code
2871: , p_from_combination_id => l_adr_value_combination_id
2907: xla_accounting_err_pkg.build_message
2908: (p_appli_s_name => 'XLA'
2909: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2910: ,p_token_1 => 'LINE_NUMBER'
2911: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2912: ,p_token_2 => 'LINE_TYPE_NAME'
2913: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2914: l_component_type
2915: ,l_component_code
2943: --
2944: --
2945: ------------------------------------------------------------------------------------------------
2946: -- 4219869 Business Flow
2947: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2948: -- Prior Entry. Currently, the following code is always generated.
2949: ------------------------------------------------------------------------------------------------
2950: XLA_AE_LINES_PKG.ValidateCurrentLine;
2951:
2946: -- 4219869 Business Flow
2947: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2948: -- Prior Entry. Currently, the following code is always generated.
2949: ------------------------------------------------------------------------------------------------
2950: XLA_AE_LINES_PKG.ValidateCurrentLine;
2951:
2952: ------------------------------------------------------------------------------------
2953: -- 4219869 Business Flow
2954: -- Populated credit and debit amounts -- Need to generate this within IF
2952: ------------------------------------------------------------------------------------
2953: -- 4219869 Business Flow
2954: -- Populated credit and debit amounts -- Need to generate this within IF
2955: ------------------------------------------------------------------------------------
2956: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2957:
2958: ----------------------------------------------------------------------------------
2959: -- 4219869 Business Flow
2960: -- Update journal entry status -- Need to generate this within IF
2984: -- To allow MPA report to determine if it should generate report process
2985: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2986: ------------------------------------------------------------------------------------------
2987:
2988: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2989: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2990: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
2991: -- call ADRs
2992: -- Bug 4922099
2985: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2986: ------------------------------------------------------------------------------------------
2987:
2988: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2989: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2990: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
2991: -- call ADRs
2992: -- Bug 4922099
2993: --
3009: , x_value_type_code => l_adr_value_type_code
3010: , p_side => 'NA'
3011: );
3012:
3013: xla_ae_lines_pkg.set_ccid(
3014: p_code_combination_id => l_ccid
3015: , p_value_type_code => l_adr_value_type_code
3016: , p_transaction_coa_id => l_adr_transaction_coa_id
3017: , p_accounting_coa_id => l_adr_accounting_coa_id
3042: );
3043:
3044: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
3045:
3046: xla_ae_lines_pkg.set_segment(
3047: p_to_segment_code => 'GL_ACCOUNT'
3048: , p_segment_value => l_segment
3049: , p_from_segment_code => l_adr_value_segment_code
3050: , p_from_combination_id => l_adr_value_combination_id
3073:
3074: --
3075: -- Update the line information that should be overwritten
3076: --
3077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3078: p_header_num => 1);
3079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3080:
3081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3075: -- Update the line information that should be overwritten
3076: --
3077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3078: p_header_num => 1);
3079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3080:
3081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3082:
3083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3077: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3078: p_header_num => 1);
3079: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3080:
3081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3082:
3083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3084: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3085: END IF;
3080:
3081: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3082:
3083: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3084: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3085: END IF;
3086:
3087: --
3088: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3087: --
3088: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3089: --
3090: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3091: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3092: ELSE
3093: ---------------------------------------------------------------------------------------------------
3094: -- 4262811a Switch Sign
3095: ---------------------------------------------------------------------------------------------------
3092: ELSE
3093: ---------------------------------------------------------------------------------------------------
3094: -- 4262811a Switch Sign
3095: ---------------------------------------------------------------------------------------------------
3096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3093: ---------------------------------------------------------------------------------------------------
3094: -- 4262811a Switch Sign
3095: ---------------------------------------------------------------------------------------------------
3096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3094: -- 4262811a Switch Sign
3095: ---------------------------------------------------------------------------------------------------
3096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3095: ---------------------------------------------------------------------------------------------------
3096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3096: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3104:
3098: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3104:
3105: END IF;
3106:
3099: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3100: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3101: -- 5132302
3102: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3103: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3104:
3105: END IF;
3106:
3107: -- 4955764
3104:
3105: END IF;
3106:
3107: -- 4955764
3108: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3110:
3111:
3112: XLA_AE_LINES_PKG.ValidateCurrentLine;
3108: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3110:
3111:
3112: XLA_AE_LINES_PKG.ValidateCurrentLine;
3113: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3114:
3115: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3116: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3109: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3110:
3111:
3112: XLA_AE_LINES_PKG.ValidateCurrentLine;
3113: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3114:
3115: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3116: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3117: ,p_balance_type_code => l_balance_type_code);
3311: --
3312: -- bulk performance
3313: --
3314: l_balance_type_code VARCHAR2(1);
3315: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3316: l_log_module VARCHAR2(240);
3317:
3318: --
3319: -- Upgrade strategy
3393: ') = 'IPV')
3394: THEN
3395:
3396: --
3397: XLA_AE_LINES_PKG.SetNewLine;
3398:
3399: p_balance_type_code := l_balance_type_code;
3400: -- set the flag so later we will know whether the gain loss line needs to be created
3401:
3405:
3406: --
3407: -- bulk performance
3408: --
3409: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3410: p_header_num => 0); -- 4262811
3411: --
3412: -- set accounting line options
3413: --
3410: p_header_num => 0); -- 4262811
3411: --
3412: -- set accounting line options
3413: --
3414: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3415: p_natural_side_code => 'C'
3416: , p_gain_or_loss_flag => 'N'
3417: , p_gl_transfer_mode_code => 'S'
3418: , p_acct_entry_type_code => 'A'
3424: --
3425: --
3426: -- set accounting line type info
3427: --
3428: xla_ae_lines_pkg.SetAcctLineType
3429: (p_component_type => l_component_type
3430: ,p_event_type_code => l_event_type_code
3431: ,p_line_definition_owner_code => l_line_definition_owner_code
3432: ,p_line_definition_code => l_line_definition_code
3438: ,p_event_class_code => l_event_class_code);
3439: --
3440: -- set accounting class
3441: --
3442: xla_ae_lines_pkg.SetAcctClass(
3443: p_accounting_class_code => 'ACCOUNTSPAYABLE'
3444: , p_ae_header_id => l_ae_header_id
3445: );
3446:
3446:
3447: --
3448: -- set rounding class
3449: --
3450: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3451: 'ACCOUNTSPAYABLE';
3452:
3453: --
3454: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3450: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3451: 'ACCOUNTSPAYABLE';
3452:
3453: --
3454: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3455: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3456: --
3457: -- bulk performance
3458: --
3451: 'ACCOUNTSPAYABLE';
3452:
3453: --
3454: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3455: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3456: --
3457: -- bulk performance
3458: --
3459: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3455: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3456: --
3457: -- bulk performance
3458: --
3459: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3460:
3461: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3462: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3463:
3457: -- bulk performance
3458: --
3459: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3460:
3461: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3462: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3463:
3464: -- 4955764
3465: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3461: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3462: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3463:
3464: -- 4955764
3465: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3466: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3467:
3468: -- 4458381 Public Sector Enh
3469:
3569: l_rec_acct_attrs.array_num_value(42) := p_source_51;
3570: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
3571: l_rec_acct_attrs.array_num_value(43) := p_source_52;
3572:
3573: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3574: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3575:
3576: ---------------------------------------------------------------------------------------------------------------
3577: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3570: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
3571: l_rec_acct_attrs.array_num_value(43) := p_source_52;
3572:
3573: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3574: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3575:
3576: ---------------------------------------------------------------------------------------------------------------
3577: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3578: ---------------------------------------------------------------------------------------------------------------
3573: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3574: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3575:
3576: ---------------------------------------------------------------------------------------------------------------
3577: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3578: ---------------------------------------------------------------------------------------------------------------
3579: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3580:
3581: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3575:
3576: ---------------------------------------------------------------------------------------------------------------
3577: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3578: ---------------------------------------------------------------------------------------------------------------
3579: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3580:
3581: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3582: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3583:
3577: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3578: ---------------------------------------------------------------------------------------------------------------
3579: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3580:
3581: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3582: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3583:
3584: IF xla_accounting_cache_pkg.GetValueChar
3585: (p_source_code => 'LEDGER_CATEGORY_CODE'
3578: ---------------------------------------------------------------------------------------------------------------
3579: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3580:
3581: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3582: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3583:
3584: IF xla_accounting_cache_pkg.GetValueChar
3585: (p_source_code => 'LEDGER_CATEGORY_CODE'
3586: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3589: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3590: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3591: )
3592: THEN
3593: xla_ae_lines_pkg.BflowUpgEntry
3594: (p_business_method_code => l_bflow_method_code
3595: ,p_business_class_code => l_bflow_class_code
3596: ,p_balance_type => l_balance_type_code);
3597: ELSE
3606: --
3607: -- call description
3608: --
3609:
3610: xla_ae_lines_pkg.SetLineDescription(
3611: p_ae_header_id => l_ae_header_id
3612: ,p_description => Description_2 (
3613: p_application_id => p_application_id
3614: , p_ae_header_id => l_ae_header_id
3639: , x_value_type_code => l_adr_value_type_code
3640: , p_side => 'NA'
3641: );
3642:
3643: xla_ae_lines_pkg.set_ccid(
3644: p_code_combination_id => l_ccid
3645: , p_value_type_code => l_adr_value_type_code
3646: , p_transaction_coa_id => l_adr_transaction_coa_id
3647: , p_accounting_coa_id => l_adr_accounting_coa_id
3671: );
3672:
3673: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
3674:
3675: xla_ae_lines_pkg.set_segment(
3676: p_to_segment_code => 'GL_ACCOUNT'
3677: , p_segment_value => l_segment
3678: , p_from_segment_code => l_adr_value_segment_code
3679: , p_from_combination_id => l_adr_value_combination_id
3715: xla_accounting_err_pkg.build_message
3716: (p_appli_s_name => 'XLA'
3717: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3718: ,p_token_1 => 'LINE_NUMBER'
3719: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3720: ,p_token_2 => 'LINE_TYPE_NAME'
3721: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3722: l_component_type
3723: ,l_component_code
3751: --
3752: --
3753: ------------------------------------------------------------------------------------------------
3754: -- 4219869 Business Flow
3755: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3756: -- Prior Entry. Currently, the following code is always generated.
3757: ------------------------------------------------------------------------------------------------
3758: XLA_AE_LINES_PKG.ValidateCurrentLine;
3759:
3754: -- 4219869 Business Flow
3755: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3756: -- Prior Entry. Currently, the following code is always generated.
3757: ------------------------------------------------------------------------------------------------
3758: XLA_AE_LINES_PKG.ValidateCurrentLine;
3759:
3760: ------------------------------------------------------------------------------------
3761: -- 4219869 Business Flow
3762: -- Populated credit and debit amounts -- Need to generate this within IF
3760: ------------------------------------------------------------------------------------
3761: -- 4219869 Business Flow
3762: -- Populated credit and debit amounts -- Need to generate this within IF
3763: ------------------------------------------------------------------------------------
3764: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3765:
3766: ----------------------------------------------------------------------------------
3767: -- 4219869 Business Flow
3768: -- Update journal entry status -- Need to generate this within IF
3792: -- To allow MPA report to determine if it should generate report process
3793: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3794: ------------------------------------------------------------------------------------------
3795:
3796: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3797: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3798: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
3799: -- call ADRs
3800: -- Bug 4922099
3793: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3794: ------------------------------------------------------------------------------------------
3795:
3796: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3797: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3798: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
3799: -- call ADRs
3800: -- Bug 4922099
3801: --
3817: , x_value_type_code => l_adr_value_type_code
3818: , p_side => 'NA'
3819: );
3820:
3821: xla_ae_lines_pkg.set_ccid(
3822: p_code_combination_id => l_ccid
3823: , p_value_type_code => l_adr_value_type_code
3824: , p_transaction_coa_id => l_adr_transaction_coa_id
3825: , p_accounting_coa_id => l_adr_accounting_coa_id
3849: );
3850:
3851: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
3852:
3853: xla_ae_lines_pkg.set_segment(
3854: p_to_segment_code => 'GL_ACCOUNT'
3855: , p_segment_value => l_segment
3856: , p_from_segment_code => l_adr_value_segment_code
3857: , p_from_combination_id => l_adr_value_combination_id
3880:
3881: --
3882: -- Update the line information that should be overwritten
3883: --
3884: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3885: p_header_num => 1);
3886: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3887:
3888: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3882: -- Update the line information that should be overwritten
3883: --
3884: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3885: p_header_num => 1);
3886: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3887:
3888: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3889:
3890: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3884: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3885: p_header_num => 1);
3886: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3887:
3888: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3889:
3890: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3891: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3892: END IF;
3887:
3888: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3889:
3890: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3891: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3892: END IF;
3893:
3894: --
3895: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3894: --
3895: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3896: --
3897: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3898: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3899: ELSE
3900: ---------------------------------------------------------------------------------------------------
3901: -- 4262811a Switch Sign
3902: ---------------------------------------------------------------------------------------------------
3899: ELSE
3900: ---------------------------------------------------------------------------------------------------
3901: -- 4262811a Switch Sign
3902: ---------------------------------------------------------------------------------------------------
3903: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3904: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3900: ---------------------------------------------------------------------------------------------------
3901: -- 4262811a Switch Sign
3902: ---------------------------------------------------------------------------------------------------
3903: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3904: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3901: -- 4262811a Switch Sign
3902: ---------------------------------------------------------------------------------------------------
3903: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3904: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3909: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3902: ---------------------------------------------------------------------------------------------------
3903: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3904: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3909: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3903: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3904: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3909: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3911:
3905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3909: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3911:
3912: END IF;
3913:
3906: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3908: -- 5132302
3909: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3911:
3912: END IF;
3913:
3914: -- 4955764
3911:
3912: END IF;
3913:
3914: -- 4955764
3915: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3916: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3917:
3918:
3919: XLA_AE_LINES_PKG.ValidateCurrentLine;
3915: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3916: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3917:
3918:
3919: XLA_AE_LINES_PKG.ValidateCurrentLine;
3920: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3921:
3922: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3923: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3916: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3917:
3918:
3919: XLA_AE_LINES_PKG.ValidateCurrentLine;
3920: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3921:
3922: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3923: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3924: ,p_balance_type_code => l_balance_type_code);
4118: --
4119: -- bulk performance
4120: --
4121: l_balance_type_code VARCHAR2(1);
4122: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4123: l_log_module VARCHAR2(240);
4124:
4125: --
4126: -- Upgrade strategy
4204: ') = 'Partial')
4205: THEN
4206:
4207: --
4208: XLA_AE_LINES_PKG.SetNewLine;
4209:
4210: p_balance_type_code := l_balance_type_code;
4211: -- set the flag so later we will know whether the gain loss line needs to be created
4212:
4216:
4217: --
4218: -- bulk performance
4219: --
4220: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4221: p_header_num => 0); -- 4262811
4222: --
4223: -- set accounting line options
4224: --
4221: p_header_num => 0); -- 4262811
4222: --
4223: -- set accounting line options
4224: --
4225: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4226: p_natural_side_code => 'D'
4227: , p_gain_or_loss_flag => 'N'
4228: , p_gl_transfer_mode_code => 'S'
4229: , p_acct_entry_type_code => 'A'
4235: --
4236: --
4237: -- set accounting line type info
4238: --
4239: xla_ae_lines_pkg.SetAcctLineType
4240: (p_component_type => l_component_type
4241: ,p_event_type_code => l_event_type_code
4242: ,p_line_definition_owner_code => l_line_definition_owner_code
4243: ,p_line_definition_code => l_line_definition_code
4249: ,p_event_class_code => l_event_class_code);
4250: --
4251: -- set accounting class
4252: --
4253: xla_ae_lines_pkg.SetAcctClass(
4254: p_accounting_class_code => 'ACCOUNTSPAYABLE'
4255: , p_ae_header_id => l_ae_header_id
4256: );
4257:
4257:
4258: --
4259: -- set rounding class
4260: --
4261: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4262: 'ACCOUNTSPAYABLE';
4263:
4264: --
4265: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4261: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4262: 'ACCOUNTSPAYABLE';
4263:
4264: --
4265: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4266: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4267: --
4268: -- bulk performance
4269: --
4262: 'ACCOUNTSPAYABLE';
4263:
4264: --
4265: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4266: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4267: --
4268: -- bulk performance
4269: --
4270: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4266: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4267: --
4268: -- bulk performance
4269: --
4270: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4271:
4272: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4273: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4274:
4268: -- bulk performance
4269: --
4270: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4271:
4272: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4273: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4274:
4275: -- 4955764
4276: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4272: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4273: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4274:
4275: -- 4955764
4276: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4277: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4278:
4279: -- 4458381 Public Sector Enh
4280:
4380: l_rec_acct_attrs.array_num_value(42) := p_source_51;
4381: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
4382: l_rec_acct_attrs.array_num_value(43) := p_source_52;
4383:
4384: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4385: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4386:
4387: ---------------------------------------------------------------------------------------------------------------
4388: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4381: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
4382: l_rec_acct_attrs.array_num_value(43) := p_source_52;
4383:
4384: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4385: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4386:
4387: ---------------------------------------------------------------------------------------------------------------
4388: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4389: ---------------------------------------------------------------------------------------------------------------
4384: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4385: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4386:
4387: ---------------------------------------------------------------------------------------------------------------
4388: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4389: ---------------------------------------------------------------------------------------------------------------
4390: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4391:
4392: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4386:
4387: ---------------------------------------------------------------------------------------------------------------
4388: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4389: ---------------------------------------------------------------------------------------------------------------
4390: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4391:
4392: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4393: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4394:
4388: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4389: ---------------------------------------------------------------------------------------------------------------
4390: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4391:
4392: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4393: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4394:
4395: IF xla_accounting_cache_pkg.GetValueChar
4396: (p_source_code => 'LEDGER_CATEGORY_CODE'
4389: ---------------------------------------------------------------------------------------------------------------
4390: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4391:
4392: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4393: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4394:
4395: IF xla_accounting_cache_pkg.GetValueChar
4396: (p_source_code => 'LEDGER_CATEGORY_CODE'
4397: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4400: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4401: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4402: )
4403: THEN
4404: xla_ae_lines_pkg.BflowUpgEntry
4405: (p_business_method_code => l_bflow_method_code
4406: ,p_business_class_code => l_bflow_class_code
4407: ,p_balance_type => l_balance_type_code);
4408: ELSE
4417: --
4418: -- call description
4419: --
4420:
4421: xla_ae_lines_pkg.SetLineDescription(
4422: p_ae_header_id => l_ae_header_id
4423: ,p_description => Description_2 (
4424: p_application_id => p_application_id
4425: , p_ae_header_id => l_ae_header_id
4450: , x_value_type_code => l_adr_value_type_code
4451: , p_side => 'NA'
4452: );
4453:
4454: xla_ae_lines_pkg.set_ccid(
4455: p_code_combination_id => l_ccid
4456: , p_value_type_code => l_adr_value_type_code
4457: , p_transaction_coa_id => l_adr_transaction_coa_id
4458: , p_accounting_coa_id => l_adr_accounting_coa_id
4483: );
4484:
4485: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
4486:
4487: xla_ae_lines_pkg.set_segment(
4488: p_to_segment_code => 'GL_ACCOUNT'
4489: , p_segment_value => l_segment
4490: , p_from_segment_code => l_adr_value_segment_code
4491: , p_from_combination_id => l_adr_value_combination_id
4527: xla_accounting_err_pkg.build_message
4528: (p_appli_s_name => 'XLA'
4529: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4530: ,p_token_1 => 'LINE_NUMBER'
4531: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4532: ,p_token_2 => 'LINE_TYPE_NAME'
4533: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4534: l_component_type
4535: ,l_component_code
4563: --
4564: --
4565: ------------------------------------------------------------------------------------------------
4566: -- 4219869 Business Flow
4567: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4568: -- Prior Entry. Currently, the following code is always generated.
4569: ------------------------------------------------------------------------------------------------
4570: XLA_AE_LINES_PKG.ValidateCurrentLine;
4571:
4566: -- 4219869 Business Flow
4567: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4568: -- Prior Entry. Currently, the following code is always generated.
4569: ------------------------------------------------------------------------------------------------
4570: XLA_AE_LINES_PKG.ValidateCurrentLine;
4571:
4572: ------------------------------------------------------------------------------------
4573: -- 4219869 Business Flow
4574: -- Populated credit and debit amounts -- Need to generate this within IF
4572: ------------------------------------------------------------------------------------
4573: -- 4219869 Business Flow
4574: -- Populated credit and debit amounts -- Need to generate this within IF
4575: ------------------------------------------------------------------------------------
4576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4577:
4578: ----------------------------------------------------------------------------------
4579: -- 4219869 Business Flow
4580: -- Update journal entry status -- Need to generate this within IF
4604: -- To allow MPA report to determine if it should generate report process
4605: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4606: ------------------------------------------------------------------------------------------
4607:
4608: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4609: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4610: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
4611: -- call ADRs
4612: -- Bug 4922099
4605: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4606: ------------------------------------------------------------------------------------------
4607:
4608: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4609: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4610: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
4611: -- call ADRs
4612: -- Bug 4922099
4613: --
4629: , x_value_type_code => l_adr_value_type_code
4630: , p_side => 'NA'
4631: );
4632:
4633: xla_ae_lines_pkg.set_ccid(
4634: p_code_combination_id => l_ccid
4635: , p_value_type_code => l_adr_value_type_code
4636: , p_transaction_coa_id => l_adr_transaction_coa_id
4637: , p_accounting_coa_id => l_adr_accounting_coa_id
4662: );
4663:
4664: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
4665:
4666: xla_ae_lines_pkg.set_segment(
4667: p_to_segment_code => 'GL_ACCOUNT'
4668: , p_segment_value => l_segment
4669: , p_from_segment_code => l_adr_value_segment_code
4670: , p_from_combination_id => l_adr_value_combination_id
4693:
4694: --
4695: -- Update the line information that should be overwritten
4696: --
4697: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4698: p_header_num => 1);
4699: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4700:
4701: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4695: -- Update the line information that should be overwritten
4696: --
4697: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4698: p_header_num => 1);
4699: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4700:
4701: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4702:
4703: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4697: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4698: p_header_num => 1);
4699: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4700:
4701: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4702:
4703: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4704: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4705: END IF;
4700:
4701: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4702:
4703: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4704: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4705: END IF;
4706:
4707: --
4708: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4707: --
4708: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4709: --
4710: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4711: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4712: ELSE
4713: ---------------------------------------------------------------------------------------------------
4714: -- 4262811a Switch Sign
4715: ---------------------------------------------------------------------------------------------------
4712: ELSE
4713: ---------------------------------------------------------------------------------------------------
4714: -- 4262811a Switch Sign
4715: ---------------------------------------------------------------------------------------------------
4716: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4717: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4713: ---------------------------------------------------------------------------------------------------
4714: -- 4262811a Switch Sign
4715: ---------------------------------------------------------------------------------------------------
4716: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4717: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4714: -- 4262811a Switch Sign
4715: ---------------------------------------------------------------------------------------------------
4716: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4717: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4722: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4715: ---------------------------------------------------------------------------------------------------
4716: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4717: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4722: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4723: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4716: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4717: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4722: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4723: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4724:
4718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4722: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4723: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4724:
4725: END IF;
4726:
4719: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4720: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4721: -- 5132302
4722: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4723: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4724:
4725: END IF;
4726:
4727: -- 4955764
4724:
4725: END IF;
4726:
4727: -- 4955764
4728: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4729: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4730:
4731:
4732: XLA_AE_LINES_PKG.ValidateCurrentLine;
4728: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4729: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4730:
4731:
4732: XLA_AE_LINES_PKG.ValidateCurrentLine;
4733: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4734:
4735: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4736: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4729: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4730:
4731:
4732: XLA_AE_LINES_PKG.ValidateCurrentLine;
4733: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4734:
4735: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4736: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4737: ,p_balance_type_code => l_balance_type_code);
4936: --
4937: -- bulk performance
4938: --
4939: l_balance_type_code VARCHAR2(1);
4940: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4941: l_log_module VARCHAR2(240);
4942:
4943: --
4944: -- Upgrade strategy
5018: ') = 'Upward'
5019: THEN
5020:
5021: --
5022: XLA_AE_LINES_PKG.SetNewLine;
5023:
5024: p_balance_type_code := l_balance_type_code;
5025: -- set the flag so later we will know whether the gain loss line needs to be created
5026:
5030:
5031: --
5032: -- bulk performance
5033: --
5034: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5035: p_header_num => 0); -- 4262811
5036: --
5037: -- set accounting line options
5038: --
5035: p_header_num => 0); -- 4262811
5036: --
5037: -- set accounting line options
5038: --
5039: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5040: p_natural_side_code => 'D'
5041: , p_gain_or_loss_flag => 'N'
5042: , p_gl_transfer_mode_code => 'S'
5043: , p_acct_entry_type_code => 'A'
5049: --
5050: --
5051: -- set accounting line type info
5052: --
5053: xla_ae_lines_pkg.SetAcctLineType
5054: (p_component_type => l_component_type
5055: ,p_event_type_code => l_event_type_code
5056: ,p_line_definition_owner_code => l_line_definition_owner_code
5057: ,p_line_definition_code => l_line_definition_code
5063: ,p_event_class_code => l_event_class_code);
5064: --
5065: -- set accounting class
5066: --
5067: xla_ae_lines_pkg.SetAcctClass(
5068: p_accounting_class_code => 'ACCOUNTSPAYABLE'
5069: , p_ae_header_id => l_ae_header_id
5070: );
5071:
5071:
5072: --
5073: -- set rounding class
5074: --
5075: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5076: 'ACCOUNTSPAYABLE';
5077:
5078: --
5079: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5075: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5076: 'ACCOUNTSPAYABLE';
5077:
5078: --
5079: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5080: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5081: --
5082: -- bulk performance
5083: --
5076: 'ACCOUNTSPAYABLE';
5077:
5078: --
5079: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5080: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5081: --
5082: -- bulk performance
5083: --
5084: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5080: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5081: --
5082: -- bulk performance
5083: --
5084: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5085:
5086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5087: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5088:
5082: -- bulk performance
5083: --
5084: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5085:
5086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5087: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5088:
5089: -- 4955764
5090: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5087: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5088:
5089: -- 4955764
5090: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5091: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5092:
5093: -- 4458381 Public Sector Enh
5094:
5194: l_rec_acct_attrs.array_num_value(42) := p_source_51;
5195: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
5196: l_rec_acct_attrs.array_num_value(43) := p_source_52;
5197:
5198: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5199: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5200:
5201: ---------------------------------------------------------------------------------------------------------------
5202: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5195: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
5196: l_rec_acct_attrs.array_num_value(43) := p_source_52;
5197:
5198: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5199: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5200:
5201: ---------------------------------------------------------------------------------------------------------------
5202: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5203: ---------------------------------------------------------------------------------------------------------------
5198: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5199: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5200:
5201: ---------------------------------------------------------------------------------------------------------------
5202: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5203: ---------------------------------------------------------------------------------------------------------------
5204: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5205:
5206: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5200:
5201: ---------------------------------------------------------------------------------------------------------------
5202: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5203: ---------------------------------------------------------------------------------------------------------------
5204: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5205:
5206: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5207: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5208:
5202: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5203: ---------------------------------------------------------------------------------------------------------------
5204: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5205:
5206: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5207: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5208:
5209: IF xla_accounting_cache_pkg.GetValueChar
5210: (p_source_code => 'LEDGER_CATEGORY_CODE'
5203: ---------------------------------------------------------------------------------------------------------------
5204: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5205:
5206: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5207: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5208:
5209: IF xla_accounting_cache_pkg.GetValueChar
5210: (p_source_code => 'LEDGER_CATEGORY_CODE'
5211: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5214: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5215: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5216: )
5217: THEN
5218: xla_ae_lines_pkg.BflowUpgEntry
5219: (p_business_method_code => l_bflow_method_code
5220: ,p_business_class_code => l_bflow_class_code
5221: ,p_balance_type => l_balance_type_code);
5222: ELSE
5231: --
5232: -- call description
5233: --
5234:
5235: xla_ae_lines_pkg.SetLineDescription(
5236: p_ae_header_id => l_ae_header_id
5237: ,p_description => Description_2 (
5238: p_application_id => p_application_id
5239: , p_ae_header_id => l_ae_header_id
5264: , x_value_type_code => l_adr_value_type_code
5265: , p_side => 'NA'
5266: );
5267:
5268: xla_ae_lines_pkg.set_ccid(
5269: p_code_combination_id => l_ccid
5270: , p_value_type_code => l_adr_value_type_code
5271: , p_transaction_coa_id => l_adr_transaction_coa_id
5272: , p_accounting_coa_id => l_adr_accounting_coa_id
5299: );
5300:
5301: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
5302:
5303: xla_ae_lines_pkg.set_segment(
5304: p_to_segment_code => 'GL_ACCOUNT'
5305: , p_segment_value => l_segment
5306: , p_from_segment_code => l_adr_value_segment_code
5307: , p_from_combination_id => l_adr_value_combination_id
5343: xla_accounting_err_pkg.build_message
5344: (p_appli_s_name => 'XLA'
5345: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5346: ,p_token_1 => 'LINE_NUMBER'
5347: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5348: ,p_token_2 => 'LINE_TYPE_NAME'
5349: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5350: l_component_type
5351: ,l_component_code
5379: --
5380: --
5381: ------------------------------------------------------------------------------------------------
5382: -- 4219869 Business Flow
5383: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5384: -- Prior Entry. Currently, the following code is always generated.
5385: ------------------------------------------------------------------------------------------------
5386: XLA_AE_LINES_PKG.ValidateCurrentLine;
5387:
5382: -- 4219869 Business Flow
5383: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5384: -- Prior Entry. Currently, the following code is always generated.
5385: ------------------------------------------------------------------------------------------------
5386: XLA_AE_LINES_PKG.ValidateCurrentLine;
5387:
5388: ------------------------------------------------------------------------------------
5389: -- 4219869 Business Flow
5390: -- Populated credit and debit amounts -- Need to generate this within IF
5388: ------------------------------------------------------------------------------------
5389: -- 4219869 Business Flow
5390: -- Populated credit and debit amounts -- Need to generate this within IF
5391: ------------------------------------------------------------------------------------
5392: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5393:
5394: ----------------------------------------------------------------------------------
5395: -- 4219869 Business Flow
5396: -- Update journal entry status -- Need to generate this within IF
5420: -- To allow MPA report to determine if it should generate report process
5421: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5422: ------------------------------------------------------------------------------------------
5423:
5424: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5425: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5426: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
5427: -- call ADRs
5428: -- Bug 4922099
5421: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5422: ------------------------------------------------------------------------------------------
5423:
5424: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5425: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5426: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
5427: -- call ADRs
5428: -- Bug 4922099
5429: --
5445: , x_value_type_code => l_adr_value_type_code
5446: , p_side => 'NA'
5447: );
5448:
5449: xla_ae_lines_pkg.set_ccid(
5450: p_code_combination_id => l_ccid
5451: , p_value_type_code => l_adr_value_type_code
5452: , p_transaction_coa_id => l_adr_transaction_coa_id
5453: , p_accounting_coa_id => l_adr_accounting_coa_id
5480: );
5481:
5482: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
5483:
5484: xla_ae_lines_pkg.set_segment(
5485: p_to_segment_code => 'GL_ACCOUNT'
5486: , p_segment_value => l_segment
5487: , p_from_segment_code => l_adr_value_segment_code
5488: , p_from_combination_id => l_adr_value_combination_id
5511:
5512: --
5513: -- Update the line information that should be overwritten
5514: --
5515: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5516: p_header_num => 1);
5517: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5518:
5519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5513: -- Update the line information that should be overwritten
5514: --
5515: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5516: p_header_num => 1);
5517: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5518:
5519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5520:
5521: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5515: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5516: p_header_num => 1);
5517: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5518:
5519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5520:
5521: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5522: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5523: END IF;
5518:
5519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5520:
5521: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5522: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5523: END IF;
5524:
5525: --
5526: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5525: --
5526: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5527: --
5528: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5529: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5530: ELSE
5531: ---------------------------------------------------------------------------------------------------
5532: -- 4262811a Switch Sign
5533: ---------------------------------------------------------------------------------------------------
5530: ELSE
5531: ---------------------------------------------------------------------------------------------------
5532: -- 4262811a Switch Sign
5533: ---------------------------------------------------------------------------------------------------
5534: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5531: ---------------------------------------------------------------------------------------------------
5532: -- 4262811a Switch Sign
5533: ---------------------------------------------------------------------------------------------------
5534: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5532: -- 4262811a Switch Sign
5533: ---------------------------------------------------------------------------------------------------
5534: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5540: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5533: ---------------------------------------------------------------------------------------------------
5534: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5540: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5541: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5534: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5540: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5541: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5542:
5536: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5540: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5541: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5542:
5543: END IF;
5544:
5537: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5538: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5539: -- 5132302
5540: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5541: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5542:
5543: END IF;
5544:
5545: -- 4955764
5542:
5543: END IF;
5544:
5545: -- 4955764
5546: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5547: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5548:
5549:
5550: XLA_AE_LINES_PKG.ValidateCurrentLine;
5546: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5547: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5548:
5549:
5550: XLA_AE_LINES_PKG.ValidateCurrentLine;
5551: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5552:
5553: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5554: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5547: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5548:
5549:
5550: XLA_AE_LINES_PKG.ValidateCurrentLine;
5551: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5552:
5553: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5554: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5555: ,p_balance_type_code => l_balance_type_code);
5755: --
5756: -- bulk performance
5757: --
5758: l_balance_type_code VARCHAR2(1);
5759: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5760: l_log_module VARCHAR2(240);
5761:
5762: --
5763: -- Upgrade strategy
5837: ') = 'Y'
5838: THEN
5839:
5840: --
5841: XLA_AE_LINES_PKG.SetNewLine;
5842:
5843: p_balance_type_code := l_balance_type_code;
5844: -- set the flag so later we will know whether the gain loss line needs to be created
5845:
5849:
5850: --
5851: -- bulk performance
5852: --
5853: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5854: p_header_num => 0); -- 4262811
5855: --
5856: -- set accounting line options
5857: --
5854: p_header_num => 0); -- 4262811
5855: --
5856: -- set accounting line options
5857: --
5858: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5859: p_natural_side_code => 'C'
5860: , p_gain_or_loss_flag => 'N'
5861: , p_gl_transfer_mode_code => 'S'
5862: , p_acct_entry_type_code => 'A'
5868: --
5869: --
5870: -- set accounting line type info
5871: --
5872: xla_ae_lines_pkg.SetAcctLineType
5873: (p_component_type => l_component_type
5874: ,p_event_type_code => l_event_type_code
5875: ,p_line_definition_owner_code => l_line_definition_owner_code
5876: ,p_line_definition_code => l_line_definition_code
5882: ,p_event_class_code => l_event_class_code);
5883: --
5884: -- set accounting class
5885: --
5886: xla_ae_lines_pkg.SetAcctClass(
5887: p_accounting_class_code => 'ACCOUNTSPAYABLE'
5888: , p_ae_header_id => l_ae_header_id
5889: );
5890:
5890:
5891: --
5892: -- set rounding class
5893: --
5894: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5895: 'ACCOUNTSPAYABLE';
5896:
5897: --
5898: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5894: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5895: 'ACCOUNTSPAYABLE';
5896:
5897: --
5898: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5899: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5900: --
5901: -- bulk performance
5902: --
5895: 'ACCOUNTSPAYABLE';
5896:
5897: --
5898: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5899: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5900: --
5901: -- bulk performance
5902: --
5903: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5899: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5900: --
5901: -- bulk performance
5902: --
5903: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5904:
5905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5906: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5907:
5901: -- bulk performance
5902: --
5903: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5904:
5905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5906: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5907:
5908: -- 4955764
5909: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5906: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5907:
5908: -- 4955764
5909: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5910: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5911:
5912: -- 4458381 Public Sector Enh
5913:
6013: l_rec_acct_attrs.array_num_value(42) := p_source_51;
6014: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6015: l_rec_acct_attrs.array_num_value(43) := p_source_52;
6016:
6017: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6018: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6019:
6020: ---------------------------------------------------------------------------------------------------------------
6021: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6014: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6015: l_rec_acct_attrs.array_num_value(43) := p_source_52;
6016:
6017: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6018: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6019:
6020: ---------------------------------------------------------------------------------------------------------------
6021: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6022: ---------------------------------------------------------------------------------------------------------------
6017: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6018: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6019:
6020: ---------------------------------------------------------------------------------------------------------------
6021: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6022: ---------------------------------------------------------------------------------------------------------------
6023: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6024:
6025: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6019:
6020: ---------------------------------------------------------------------------------------------------------------
6021: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6022: ---------------------------------------------------------------------------------------------------------------
6023: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6024:
6025: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6026: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6027:
6021: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6022: ---------------------------------------------------------------------------------------------------------------
6023: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6024:
6025: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6026: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6027:
6028: IF xla_accounting_cache_pkg.GetValueChar
6029: (p_source_code => 'LEDGER_CATEGORY_CODE'
6022: ---------------------------------------------------------------------------------------------------------------
6023: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6024:
6025: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6026: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6027:
6028: IF xla_accounting_cache_pkg.GetValueChar
6029: (p_source_code => 'LEDGER_CATEGORY_CODE'
6030: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6033: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6034: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6035: )
6036: THEN
6037: xla_ae_lines_pkg.BflowUpgEntry
6038: (p_business_method_code => l_bflow_method_code
6039: ,p_business_class_code => l_bflow_class_code
6040: ,p_balance_type => l_balance_type_code);
6041: ELSE
6050: --
6051: -- call description
6052: --
6053:
6054: xla_ae_lines_pkg.SetLineDescription(
6055: p_ae_header_id => l_ae_header_id
6056: ,p_description => Description_2 (
6057: p_application_id => p_application_id
6058: , p_ae_header_id => l_ae_header_id
6083: , x_value_type_code => l_adr_value_type_code
6084: , p_side => 'NA'
6085: );
6086:
6087: xla_ae_lines_pkg.set_ccid(
6088: p_code_combination_id => l_ccid
6089: , p_value_type_code => l_adr_value_type_code
6090: , p_transaction_coa_id => l_adr_transaction_coa_id
6091: , p_accounting_coa_id => l_adr_accounting_coa_id
6118: );
6119:
6120: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
6121:
6122: xla_ae_lines_pkg.set_segment(
6123: p_to_segment_code => 'GL_ACCOUNT'
6124: , p_segment_value => l_segment
6125: , p_from_segment_code => l_adr_value_segment_code
6126: , p_from_combination_id => l_adr_value_combination_id
6162: xla_accounting_err_pkg.build_message
6163: (p_appli_s_name => 'XLA'
6164: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6165: ,p_token_1 => 'LINE_NUMBER'
6166: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6167: ,p_token_2 => 'LINE_TYPE_NAME'
6168: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6169: l_component_type
6170: ,l_component_code
6198: --
6199: --
6200: ------------------------------------------------------------------------------------------------
6201: -- 4219869 Business Flow
6202: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6203: -- Prior Entry. Currently, the following code is always generated.
6204: ------------------------------------------------------------------------------------------------
6205: XLA_AE_LINES_PKG.ValidateCurrentLine;
6206:
6201: -- 4219869 Business Flow
6202: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6203: -- Prior Entry. Currently, the following code is always generated.
6204: ------------------------------------------------------------------------------------------------
6205: XLA_AE_LINES_PKG.ValidateCurrentLine;
6206:
6207: ------------------------------------------------------------------------------------
6208: -- 4219869 Business Flow
6209: -- Populated credit and debit amounts -- Need to generate this within IF
6207: ------------------------------------------------------------------------------------
6208: -- 4219869 Business Flow
6209: -- Populated credit and debit amounts -- Need to generate this within IF
6210: ------------------------------------------------------------------------------------
6211: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6212:
6213: ----------------------------------------------------------------------------------
6214: -- 4219869 Business Flow
6215: -- Update journal entry status -- Need to generate this within IF
6239: -- To allow MPA report to determine if it should generate report process
6240: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6241: ------------------------------------------------------------------------------------------
6242:
6243: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6244: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6245: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
6246: -- call ADRs
6247: -- Bug 4922099
6240: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6241: ------------------------------------------------------------------------------------------
6242:
6243: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6244: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6245: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
6246: -- call ADRs
6247: -- Bug 4922099
6248: --
6264: , x_value_type_code => l_adr_value_type_code
6265: , p_side => 'NA'
6266: );
6267:
6268: xla_ae_lines_pkg.set_ccid(
6269: p_code_combination_id => l_ccid
6270: , p_value_type_code => l_adr_value_type_code
6271: , p_transaction_coa_id => l_adr_transaction_coa_id
6272: , p_accounting_coa_id => l_adr_accounting_coa_id
6299: );
6300:
6301: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
6302:
6303: xla_ae_lines_pkg.set_segment(
6304: p_to_segment_code => 'GL_ACCOUNT'
6305: , p_segment_value => l_segment
6306: , p_from_segment_code => l_adr_value_segment_code
6307: , p_from_combination_id => l_adr_value_combination_id
6330:
6331: --
6332: -- Update the line information that should be overwritten
6333: --
6334: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6335: p_header_num => 1);
6336: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6337:
6338: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6332: -- Update the line information that should be overwritten
6333: --
6334: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6335: p_header_num => 1);
6336: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6337:
6338: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6339:
6340: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6334: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6335: p_header_num => 1);
6336: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6337:
6338: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6339:
6340: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6341: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6342: END IF;
6337:
6338: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6339:
6340: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6341: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6342: END IF;
6343:
6344: --
6345: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6344: --
6345: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6346: --
6347: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6348: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6349: ELSE
6350: ---------------------------------------------------------------------------------------------------
6351: -- 4262811a Switch Sign
6352: ---------------------------------------------------------------------------------------------------
6349: ELSE
6350: ---------------------------------------------------------------------------------------------------
6351: -- 4262811a Switch Sign
6352: ---------------------------------------------------------------------------------------------------
6353: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6354: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6350: ---------------------------------------------------------------------------------------------------
6351: -- 4262811a Switch Sign
6352: ---------------------------------------------------------------------------------------------------
6353: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6354: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6351: -- 4262811a Switch Sign
6352: ---------------------------------------------------------------------------------------------------
6353: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6354: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6359: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6352: ---------------------------------------------------------------------------------------------------
6353: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6354: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6359: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6353: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6354: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6359: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6361:
6355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6359: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6361:
6362: END IF;
6363:
6356: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6358: -- 5132302
6359: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6361:
6362: END IF;
6363:
6364: -- 4955764
6361:
6362: END IF;
6363:
6364: -- 4955764
6365: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6366: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6367:
6368:
6369: XLA_AE_LINES_PKG.ValidateCurrentLine;
6365: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6366: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6367:
6368:
6369: XLA_AE_LINES_PKG.ValidateCurrentLine;
6370: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6371:
6372: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6373: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6366: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6367:
6368:
6369: XLA_AE_LINES_PKG.ValidateCurrentLine;
6370: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6371:
6372: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6373: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6374: ,p_balance_type_code => l_balance_type_code);
6560: --
6561: -- bulk performance
6562: --
6563: l_balance_type_code VARCHAR2(1);
6564: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6565: l_log_module VARCHAR2(240);
6566:
6567: --
6568: -- Upgrade strategy
6635: ') <> 'CREDIT MEMO CANCELLED'
6636: THEN
6637:
6638: --
6639: XLA_AE_LINES_PKG.SetNewLine;
6640:
6641: p_balance_type_code := l_balance_type_code;
6642: -- set the flag so later we will know whether the gain loss line needs to be created
6643:
6647:
6648: --
6649: -- bulk performance
6650: --
6651: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6652: p_header_num => 0); -- 4262811
6653: --
6654: -- set accounting line options
6655: --
6652: p_header_num => 0); -- 4262811
6653: --
6654: -- set accounting line options
6655: --
6656: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6657: p_natural_side_code => 'D'
6658: , p_gain_or_loss_flag => 'N'
6659: , p_gl_transfer_mode_code => 'S'
6660: , p_acct_entry_type_code => 'A'
6666: --
6667: --
6668: -- set accounting line type info
6669: --
6670: xla_ae_lines_pkg.SetAcctLineType
6671: (p_component_type => l_component_type
6672: ,p_event_type_code => l_event_type_code
6673: ,p_line_definition_owner_code => l_line_definition_owner_code
6674: ,p_line_definition_code => l_line_definition_code
6680: ,p_event_class_code => l_event_class_code);
6681: --
6682: -- set accounting class
6683: --
6684: xla_ae_lines_pkg.SetAcctClass(
6685: p_accounting_class_code => 'ACCOUNTSPAYABLE'
6686: , p_ae_header_id => l_ae_header_id
6687: );
6688:
6688:
6689: --
6690: -- set rounding class
6691: --
6692: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6693: 'ACCOUNTSPAYABLE';
6694:
6695: --
6696: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6692: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6693: 'ACCOUNTSPAYABLE';
6694:
6695: --
6696: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6697: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6698: --
6699: -- bulk performance
6700: --
6693: 'ACCOUNTSPAYABLE';
6694:
6695: --
6696: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6697: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6698: --
6699: -- bulk performance
6700: --
6701: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6697: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6698: --
6699: -- bulk performance
6700: --
6701: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6702:
6703: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6704: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6705:
6699: -- bulk performance
6700: --
6701: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6702:
6703: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6704: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6705:
6706: -- 4955764
6707: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6703: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6704: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6705:
6706: -- 4955764
6707: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6708: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6709:
6710: -- 4458381 Public Sector Enh
6711:
6811: l_rec_acct_attrs.array_num_value(42) := p_source_51;
6812: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6813: l_rec_acct_attrs.array_num_value(43) := p_source_52;
6814:
6815: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6816: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6817:
6818: ---------------------------------------------------------------------------------------------------------------
6819: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6812: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6813: l_rec_acct_attrs.array_num_value(43) := p_source_52;
6814:
6815: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6816: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6817:
6818: ---------------------------------------------------------------------------------------------------------------
6819: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6820: ---------------------------------------------------------------------------------------------------------------
6815: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6816: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6817:
6818: ---------------------------------------------------------------------------------------------------------------
6819: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6820: ---------------------------------------------------------------------------------------------------------------
6821: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6822:
6823: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6817:
6818: ---------------------------------------------------------------------------------------------------------------
6819: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6820: ---------------------------------------------------------------------------------------------------------------
6821: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6822:
6823: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6824: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6825:
6819: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6820: ---------------------------------------------------------------------------------------------------------------
6821: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6822:
6823: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6824: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6825:
6826: IF xla_accounting_cache_pkg.GetValueChar
6827: (p_source_code => 'LEDGER_CATEGORY_CODE'
6820: ---------------------------------------------------------------------------------------------------------------
6821: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6822:
6823: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6824: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6825:
6826: IF xla_accounting_cache_pkg.GetValueChar
6827: (p_source_code => 'LEDGER_CATEGORY_CODE'
6828: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6831: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6832: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6833: )
6834: THEN
6835: xla_ae_lines_pkg.BflowUpgEntry
6836: (p_business_method_code => l_bflow_method_code
6837: ,p_business_class_code => l_bflow_class_code
6838: ,p_balance_type => l_balance_type_code);
6839: ELSE
6848: --
6849: -- call description
6850: --
6851:
6852: xla_ae_lines_pkg.SetLineDescription(
6853: p_ae_header_id => l_ae_header_id
6854: ,p_description => Description_2 (
6855: p_application_id => p_application_id
6856: , p_ae_header_id => l_ae_header_id
6881: , x_value_type_code => l_adr_value_type_code
6882: , p_side => 'NA'
6883: );
6884:
6885: xla_ae_lines_pkg.set_ccid(
6886: p_code_combination_id => l_ccid
6887: , p_value_type_code => l_adr_value_type_code
6888: , p_transaction_coa_id => l_adr_transaction_coa_id
6889: , p_accounting_coa_id => l_adr_accounting_coa_id
6913: );
6914:
6915: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
6916:
6917: xla_ae_lines_pkg.set_segment(
6918: p_to_segment_code => 'GL_ACCOUNT'
6919: , p_segment_value => l_segment
6920: , p_from_segment_code => l_adr_value_segment_code
6921: , p_from_combination_id => l_adr_value_combination_id
6957: xla_accounting_err_pkg.build_message
6958: (p_appli_s_name => 'XLA'
6959: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6960: ,p_token_1 => 'LINE_NUMBER'
6961: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6962: ,p_token_2 => 'LINE_TYPE_NAME'
6963: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6964: l_component_type
6965: ,l_component_code
6993: --
6994: --
6995: ------------------------------------------------------------------------------------------------
6996: -- 4219869 Business Flow
6997: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6998: -- Prior Entry. Currently, the following code is always generated.
6999: ------------------------------------------------------------------------------------------------
7000: XLA_AE_LINES_PKG.ValidateCurrentLine;
7001:
6996: -- 4219869 Business Flow
6997: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6998: -- Prior Entry. Currently, the following code is always generated.
6999: ------------------------------------------------------------------------------------------------
7000: XLA_AE_LINES_PKG.ValidateCurrentLine;
7001:
7002: ------------------------------------------------------------------------------------
7003: -- 4219869 Business Flow
7004: -- Populated credit and debit amounts -- Need to generate this within IF
7002: ------------------------------------------------------------------------------------
7003: -- 4219869 Business Flow
7004: -- Populated credit and debit amounts -- Need to generate this within IF
7005: ------------------------------------------------------------------------------------
7006: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7007:
7008: ----------------------------------------------------------------------------------
7009: -- 4219869 Business Flow
7010: -- Update journal entry status -- Need to generate this within IF
7034: -- To allow MPA report to determine if it should generate report process
7035: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7036: ------------------------------------------------------------------------------------------
7037:
7038: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7039: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7040: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7041: -- call ADRs
7042: -- Bug 4922099
7035: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7036: ------------------------------------------------------------------------------------------
7037:
7038: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7039: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7040: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7041: -- call ADRs
7042: -- Bug 4922099
7043: --
7059: , x_value_type_code => l_adr_value_type_code
7060: , p_side => 'NA'
7061: );
7062:
7063: xla_ae_lines_pkg.set_ccid(
7064: p_code_combination_id => l_ccid
7065: , p_value_type_code => l_adr_value_type_code
7066: , p_transaction_coa_id => l_adr_transaction_coa_id
7067: , p_accounting_coa_id => l_adr_accounting_coa_id
7091: );
7092:
7093: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7094:
7095: xla_ae_lines_pkg.set_segment(
7096: p_to_segment_code => 'GL_ACCOUNT'
7097: , p_segment_value => l_segment
7098: , p_from_segment_code => l_adr_value_segment_code
7099: , p_from_combination_id => l_adr_value_combination_id
7122:
7123: --
7124: -- Update the line information that should be overwritten
7125: --
7126: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7127: p_header_num => 1);
7128: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7129:
7130: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7124: -- Update the line information that should be overwritten
7125: --
7126: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7127: p_header_num => 1);
7128: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7129:
7130: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7131:
7132: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7126: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7127: p_header_num => 1);
7128: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7129:
7130: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7131:
7132: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7133: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7134: END IF;
7129:
7130: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7131:
7132: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7133: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7134: END IF;
7135:
7136: --
7137: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7136: --
7137: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7138: --
7139: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7140: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7141: ELSE
7142: ---------------------------------------------------------------------------------------------------
7143: -- 4262811a Switch Sign
7144: ---------------------------------------------------------------------------------------------------
7141: ELSE
7142: ---------------------------------------------------------------------------------------------------
7143: -- 4262811a Switch Sign
7144: ---------------------------------------------------------------------------------------------------
7145: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7146: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7142: ---------------------------------------------------------------------------------------------------
7143: -- 4262811a Switch Sign
7144: ---------------------------------------------------------------------------------------------------
7145: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7146: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7143: -- 4262811a Switch Sign
7144: ---------------------------------------------------------------------------------------------------
7145: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7146: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7151: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7144: ---------------------------------------------------------------------------------------------------
7145: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7146: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7151: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7152: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7145: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7146: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7151: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7152: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7153:
7147: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7151: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7152: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7153:
7154: END IF;
7155:
7148: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7149: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7150: -- 5132302
7151: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7152: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7153:
7154: END IF;
7155:
7156: -- 4955764
7153:
7154: END IF;
7155:
7156: -- 4955764
7157: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7159:
7160:
7161: XLA_AE_LINES_PKG.ValidateCurrentLine;
7157: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7158: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7159:
7160:
7161: XLA_AE_LINES_PKG.ValidateCurrentLine;
7162: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7163:
7164: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7165: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7158: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7159:
7160:
7161: XLA_AE_LINES_PKG.ValidateCurrentLine;
7162: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7163:
7164: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7165: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7166: ,p_balance_type_code => l_balance_type_code);
7352: --
7353: -- bulk performance
7354: --
7355: l_balance_type_code VARCHAR2(1);
7356: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7357: l_log_module VARCHAR2(240);
7358:
7359: --
7360: -- Upgrade strategy
7427: ') <> 'CREDIT MEMO CANCELLED'
7428: THEN
7429:
7430: --
7431: XLA_AE_LINES_PKG.SetNewLine;
7432:
7433: p_balance_type_code := l_balance_type_code;
7434: -- set the flag so later we will know whether the gain loss line needs to be created
7435:
7439:
7440: --
7441: -- bulk performance
7442: --
7443: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7444: p_header_num => 0); -- 4262811
7445: --
7446: -- set accounting line options
7447: --
7444: p_header_num => 0); -- 4262811
7445: --
7446: -- set accounting line options
7447: --
7448: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7449: p_natural_side_code => 'C'
7450: , p_gain_or_loss_flag => 'N'
7451: , p_gl_transfer_mode_code => 'S'
7452: , p_acct_entry_type_code => 'A'
7458: --
7459: --
7460: -- set accounting line type info
7461: --
7462: xla_ae_lines_pkg.SetAcctLineType
7463: (p_component_type => l_component_type
7464: ,p_event_type_code => l_event_type_code
7465: ,p_line_definition_owner_code => l_line_definition_owner_code
7466: ,p_line_definition_code => l_line_definition_code
7472: ,p_event_class_code => l_event_class_code);
7473: --
7474: -- set accounting class
7475: --
7476: xla_ae_lines_pkg.SetAcctClass(
7477: p_accounting_class_code => 'ACCOUNTSPAYABLE'
7478: , p_ae_header_id => l_ae_header_id
7479: );
7480:
7480:
7481: --
7482: -- set rounding class
7483: --
7484: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7485: 'ACCOUNTSPAYABLE';
7486:
7487: --
7488: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7484: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7485: 'ACCOUNTSPAYABLE';
7486:
7487: --
7488: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7489: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7490: --
7491: -- bulk performance
7492: --
7485: 'ACCOUNTSPAYABLE';
7486:
7487: --
7488: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7489: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7490: --
7491: -- bulk performance
7492: --
7493: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7489: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7490: --
7491: -- bulk performance
7492: --
7493: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7494:
7495: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7496: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7497:
7491: -- bulk performance
7492: --
7493: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7494:
7495: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7496: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7497:
7498: -- 4955764
7499: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7495: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7496: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7497:
7498: -- 4955764
7499: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7500: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7501:
7502: -- 4458381 Public Sector Enh
7503:
7603: l_rec_acct_attrs.array_num_value(42) := p_source_51;
7604: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
7605: l_rec_acct_attrs.array_num_value(43) := p_source_52;
7606:
7607: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7608: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7609:
7610: ---------------------------------------------------------------------------------------------------------------
7611: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7604: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
7605: l_rec_acct_attrs.array_num_value(43) := p_source_52;
7606:
7607: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7608: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7609:
7610: ---------------------------------------------------------------------------------------------------------------
7611: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7612: ---------------------------------------------------------------------------------------------------------------
7607: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7608: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7609:
7610: ---------------------------------------------------------------------------------------------------------------
7611: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7612: ---------------------------------------------------------------------------------------------------------------
7613: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7614:
7615: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7609:
7610: ---------------------------------------------------------------------------------------------------------------
7611: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7612: ---------------------------------------------------------------------------------------------------------------
7613: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7614:
7615: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7616: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7617:
7611: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7612: ---------------------------------------------------------------------------------------------------------------
7613: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7614:
7615: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7616: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7617:
7618: IF xla_accounting_cache_pkg.GetValueChar
7619: (p_source_code => 'LEDGER_CATEGORY_CODE'
7612: ---------------------------------------------------------------------------------------------------------------
7613: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7614:
7615: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7616: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7617:
7618: IF xla_accounting_cache_pkg.GetValueChar
7619: (p_source_code => 'LEDGER_CATEGORY_CODE'
7620: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7623: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7624: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7625: )
7626: THEN
7627: xla_ae_lines_pkg.BflowUpgEntry
7628: (p_business_method_code => l_bflow_method_code
7629: ,p_business_class_code => l_bflow_class_code
7630: ,p_balance_type => l_balance_type_code);
7631: ELSE
7640: --
7641: -- call description
7642: --
7643:
7644: xla_ae_lines_pkg.SetLineDescription(
7645: p_ae_header_id => l_ae_header_id
7646: ,p_description => Description_2 (
7647: p_application_id => p_application_id
7648: , p_ae_header_id => l_ae_header_id
7673: , x_value_type_code => l_adr_value_type_code
7674: , p_side => 'NA'
7675: );
7676:
7677: xla_ae_lines_pkg.set_ccid(
7678: p_code_combination_id => l_ccid
7679: , p_value_type_code => l_adr_value_type_code
7680: , p_transaction_coa_id => l_adr_transaction_coa_id
7681: , p_accounting_coa_id => l_adr_accounting_coa_id
7705: );
7706:
7707: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7708:
7709: xla_ae_lines_pkg.set_segment(
7710: p_to_segment_code => 'GL_ACCOUNT'
7711: , p_segment_value => l_segment
7712: , p_from_segment_code => l_adr_value_segment_code
7713: , p_from_combination_id => l_adr_value_combination_id
7749: xla_accounting_err_pkg.build_message
7750: (p_appli_s_name => 'XLA'
7751: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7752: ,p_token_1 => 'LINE_NUMBER'
7753: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7754: ,p_token_2 => 'LINE_TYPE_NAME'
7755: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7756: l_component_type
7757: ,l_component_code
7785: --
7786: --
7787: ------------------------------------------------------------------------------------------------
7788: -- 4219869 Business Flow
7789: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7790: -- Prior Entry. Currently, the following code is always generated.
7791: ------------------------------------------------------------------------------------------------
7792: XLA_AE_LINES_PKG.ValidateCurrentLine;
7793:
7788: -- 4219869 Business Flow
7789: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7790: -- Prior Entry. Currently, the following code is always generated.
7791: ------------------------------------------------------------------------------------------------
7792: XLA_AE_LINES_PKG.ValidateCurrentLine;
7793:
7794: ------------------------------------------------------------------------------------
7795: -- 4219869 Business Flow
7796: -- Populated credit and debit amounts -- Need to generate this within IF
7794: ------------------------------------------------------------------------------------
7795: -- 4219869 Business Flow
7796: -- Populated credit and debit amounts -- Need to generate this within IF
7797: ------------------------------------------------------------------------------------
7798: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7799:
7800: ----------------------------------------------------------------------------------
7801: -- 4219869 Business Flow
7802: -- Update journal entry status -- Need to generate this within IF
7826: -- To allow MPA report to determine if it should generate report process
7827: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7828: ------------------------------------------------------------------------------------------
7829:
7830: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7831: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7832: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7833: -- call ADRs
7834: -- Bug 4922099
7827: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7828: ------------------------------------------------------------------------------------------
7829:
7830: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7831: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7832: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7833: -- call ADRs
7834: -- Bug 4922099
7835: --
7851: , x_value_type_code => l_adr_value_type_code
7852: , p_side => 'NA'
7853: );
7854:
7855: xla_ae_lines_pkg.set_ccid(
7856: p_code_combination_id => l_ccid
7857: , p_value_type_code => l_adr_value_type_code
7858: , p_transaction_coa_id => l_adr_transaction_coa_id
7859: , p_accounting_coa_id => l_adr_accounting_coa_id
7883: );
7884:
7885: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7886:
7887: xla_ae_lines_pkg.set_segment(
7888: p_to_segment_code => 'GL_ACCOUNT'
7889: , p_segment_value => l_segment
7890: , p_from_segment_code => l_adr_value_segment_code
7891: , p_from_combination_id => l_adr_value_combination_id
7914:
7915: --
7916: -- Update the line information that should be overwritten
7917: --
7918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7919: p_header_num => 1);
7920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7921:
7922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7916: -- Update the line information that should be overwritten
7917: --
7918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7919: p_header_num => 1);
7920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7921:
7922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7923:
7924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7918: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7919: p_header_num => 1);
7920: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7921:
7922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7923:
7924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7925: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7926: END IF;
7921:
7922: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7923:
7924: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7925: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7926: END IF;
7927:
7928: --
7929: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7928: --
7929: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7930: --
7931: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7932: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7933: ELSE
7934: ---------------------------------------------------------------------------------------------------
7935: -- 4262811a Switch Sign
7936: ---------------------------------------------------------------------------------------------------
7933: ELSE
7934: ---------------------------------------------------------------------------------------------------
7935: -- 4262811a Switch Sign
7936: ---------------------------------------------------------------------------------------------------
7937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7934: ---------------------------------------------------------------------------------------------------
7935: -- 4262811a Switch Sign
7936: ---------------------------------------------------------------------------------------------------
7937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7935: -- 4262811a Switch Sign
7936: ---------------------------------------------------------------------------------------------------
7937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7936: ---------------------------------------------------------------------------------------------------
7937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7937: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7938: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7945:
7939: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7945:
7946: END IF;
7947:
7940: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7941: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7942: -- 5132302
7943: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7944: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7945:
7946: END IF;
7947:
7948: -- 4955764
7945:
7946: END IF;
7947:
7948: -- 4955764
7949: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7951:
7952:
7953: XLA_AE_LINES_PKG.ValidateCurrentLine;
7949: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7951:
7952:
7953: XLA_AE_LINES_PKG.ValidateCurrentLine;
7954: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7955:
7956: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7957: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7950: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7951:
7952:
7953: XLA_AE_LINES_PKG.ValidateCurrentLine;
7954: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7955:
7956: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7957: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7958: ,p_balance_type_code => l_balance_type_code);
8130: --
8131: -- bulk performance
8132: --
8133: l_balance_type_code VARCHAR2(1);
8134: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8135: l_log_module VARCHAR2(240);
8136:
8137: --
8138: -- Upgrade strategy
8205: ') = 'CREDIT MEMO CANCELLED'
8206: THEN
8207:
8208: --
8209: XLA_AE_LINES_PKG.SetNewLine;
8210:
8211: p_balance_type_code := l_balance_type_code;
8212: -- set the flag so later we will know whether the gain loss line needs to be created
8213:
8217:
8218: --
8219: -- bulk performance
8220: --
8221: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8222: p_header_num => 0); -- 4262811
8223: --
8224: -- set accounting line options
8225: --
8222: p_header_num => 0); -- 4262811
8223: --
8224: -- set accounting line options
8225: --
8226: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8227: p_natural_side_code => 'D'
8228: , p_gain_or_loss_flag => 'N'
8229: , p_gl_transfer_mode_code => 'S'
8230: , p_acct_entry_type_code => 'A'
8236: --
8237: --
8238: -- set accounting line type info
8239: --
8240: xla_ae_lines_pkg.SetAcctLineType
8241: (p_component_type => l_component_type
8242: ,p_event_type_code => l_event_type_code
8243: ,p_line_definition_owner_code => l_line_definition_owner_code
8244: ,p_line_definition_code => l_line_definition_code
8250: ,p_event_class_code => l_event_class_code);
8251: --
8252: -- set accounting class
8253: --
8254: xla_ae_lines_pkg.SetAcctClass(
8255: p_accounting_class_code => 'ACCOUNTSPAYABLE'
8256: , p_ae_header_id => l_ae_header_id
8257: );
8258:
8258:
8259: --
8260: -- set rounding class
8261: --
8262: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8263: 'ACCOUNTSPAYABLE';
8264:
8265: --
8266: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8262: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8263: 'ACCOUNTSPAYABLE';
8264:
8265: --
8266: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8267: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8268: --
8269: -- bulk performance
8270: --
8263: 'ACCOUNTSPAYABLE';
8264:
8265: --
8266: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8267: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8268: --
8269: -- bulk performance
8270: --
8271: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8267: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8268: --
8269: -- bulk performance
8270: --
8271: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8272:
8273: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8274: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8275:
8269: -- bulk performance
8270: --
8271: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8272:
8273: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8274: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8275:
8276: -- 4955764
8277: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8273: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8274: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8275:
8276: -- 4955764
8277: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8278: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8279:
8280: -- 4458381 Public Sector Enh
8281:
8371: l_rec_acct_attrs.array_num_value(37) := p_source_51;
8372: l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
8373: l_rec_acct_attrs.array_num_value(38) := p_source_52;
8374:
8375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8377:
8378: ---------------------------------------------------------------------------------------------------------------
8379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8372: l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
8373: l_rec_acct_attrs.array_num_value(38) := p_source_52;
8374:
8375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8377:
8378: ---------------------------------------------------------------------------------------------------------------
8379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8380: ---------------------------------------------------------------------------------------------------------------
8375: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8376: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8377:
8378: ---------------------------------------------------------------------------------------------------------------
8379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8380: ---------------------------------------------------------------------------------------------------------------
8381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8382:
8383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8377:
8378: ---------------------------------------------------------------------------------------------------------------
8379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8380: ---------------------------------------------------------------------------------------------------------------
8381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8382:
8383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8385:
8379: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8380: ---------------------------------------------------------------------------------------------------------------
8381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8382:
8383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8385:
8386: IF xla_accounting_cache_pkg.GetValueChar
8387: (p_source_code => 'LEDGER_CATEGORY_CODE'
8380: ---------------------------------------------------------------------------------------------------------------
8381: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8382:
8383: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8384: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8385:
8386: IF xla_accounting_cache_pkg.GetValueChar
8387: (p_source_code => 'LEDGER_CATEGORY_CODE'
8388: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8391: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8392: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8393: )
8394: THEN
8395: xla_ae_lines_pkg.BflowUpgEntry
8396: (p_business_method_code => l_bflow_method_code
8397: ,p_business_class_code => l_bflow_class_code
8398: ,p_balance_type => l_balance_type_code);
8399: ELSE
8397: ,p_business_class_code => l_bflow_class_code
8398: ,p_balance_type => l_balance_type_code);
8399: ELSE
8400: NULL;
8401: XLA_AE_LINES_PKG.business_flow_validation(
8402: p_business_method_code => l_bflow_method_code
8403: ,p_business_class_code => l_bflow_class_code
8404: ,p_inherit_description_flag => l_inherit_desc_flag);
8405: END IF;
8444: xla_accounting_err_pkg.build_message
8445: (p_appli_s_name => 'XLA'
8446: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8447: ,p_token_1 => 'LINE_NUMBER'
8448: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8449: ,p_token_2 => 'LINE_TYPE_NAME'
8450: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8451: l_component_type
8452: ,l_component_code
8480: --
8481: --
8482: ------------------------------------------------------------------------------------------------
8483: -- 4219869 Business Flow
8484: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8485: -- Prior Entry. Currently, the following code is always generated.
8486: ------------------------------------------------------------------------------------------------
8487: -- No ValidateCurrentLine for business flow method of Prior Entry
8488:
8489: ------------------------------------------------------------------------------------
8490: -- 4219869 Business Flow
8491: -- Populated credit and debit amounts -- Need to generate this within IF
8492: ------------------------------------------------------------------------------------
8493: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8494:
8495: ----------------------------------------------------------------------------------
8496: -- 4219869 Business Flow
8497: -- Update journal entry status -- Need to generate this within IF
8521: -- To allow MPA report to determine if it should generate report process
8522: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8523: ------------------------------------------------------------------------------------------
8524:
8525: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8526: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8527: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8528: -- call ADRs
8529: -- Bug 4922099
8522: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8523: ------------------------------------------------------------------------------------------
8524:
8525: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8526: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8527: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8528: -- call ADRs
8529: -- Bug 4922099
8530: --
8543:
8544: --
8545: -- Update the line information that should be overwritten
8546: --
8547: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8548: p_header_num => 1);
8549: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8550:
8551: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8545: -- Update the line information that should be overwritten
8546: --
8547: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8548: p_header_num => 1);
8549: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8550:
8551: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8552:
8553: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8547: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8548: p_header_num => 1);
8549: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8550:
8551: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8552:
8553: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8554: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8555: END IF;
8550:
8551: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8552:
8553: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8554: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8555: END IF;
8556:
8557: --
8558: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8557: --
8558: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8559: --
8560: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8561: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8562: ELSE
8563: ---------------------------------------------------------------------------------------------------
8564: -- 4262811a Switch Sign
8565: ---------------------------------------------------------------------------------------------------
8562: ELSE
8563: ---------------------------------------------------------------------------------------------------
8564: -- 4262811a Switch Sign
8565: ---------------------------------------------------------------------------------------------------
8566: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8567: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8563: ---------------------------------------------------------------------------------------------------
8564: -- 4262811a Switch Sign
8565: ---------------------------------------------------------------------------------------------------
8566: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8567: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8564: -- 4262811a Switch Sign
8565: ---------------------------------------------------------------------------------------------------
8566: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8567: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8572: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8565: ---------------------------------------------------------------------------------------------------
8566: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8567: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8572: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8566: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8567: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8572: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8574:
8568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8572: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8574:
8575: END IF;
8576:
8569: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8571: -- 5132302
8572: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8574:
8575: END IF;
8576:
8577: -- 4955764
8574:
8575: END IF;
8576:
8577: -- 4955764
8578: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8579: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8580:
8581:
8582: XLA_AE_LINES_PKG.ValidateCurrentLine;
8578: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8579: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8580:
8581:
8582: XLA_AE_LINES_PKG.ValidateCurrentLine;
8583: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8584:
8585: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8586: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8579: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8580:
8581:
8582: XLA_AE_LINES_PKG.ValidateCurrentLine;
8583: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8584:
8585: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8586: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8587: ,p_balance_type_code => l_balance_type_code);
8759: --
8760: -- bulk performance
8761: --
8762: l_balance_type_code VARCHAR2(1);
8763: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8764: l_log_module VARCHAR2(240);
8765:
8766: --
8767: -- Upgrade strategy
8834: ') = 'CREDIT MEMO CANCELLED'
8835: THEN
8836:
8837: --
8838: XLA_AE_LINES_PKG.SetNewLine;
8839:
8840: p_balance_type_code := l_balance_type_code;
8841: -- set the flag so later we will know whether the gain loss line needs to be created
8842:
8846:
8847: --
8848: -- bulk performance
8849: --
8850: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8851: p_header_num => 0); -- 4262811
8852: --
8853: -- set accounting line options
8854: --
8851: p_header_num => 0); -- 4262811
8852: --
8853: -- set accounting line options
8854: --
8855: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8856: p_natural_side_code => 'C'
8857: , p_gain_or_loss_flag => 'N'
8858: , p_gl_transfer_mode_code => 'S'
8859: , p_acct_entry_type_code => 'A'
8865: --
8866: --
8867: -- set accounting line type info
8868: --
8869: xla_ae_lines_pkg.SetAcctLineType
8870: (p_component_type => l_component_type
8871: ,p_event_type_code => l_event_type_code
8872: ,p_line_definition_owner_code => l_line_definition_owner_code
8873: ,p_line_definition_code => l_line_definition_code
8879: ,p_event_class_code => l_event_class_code);
8880: --
8881: -- set accounting class
8882: --
8883: xla_ae_lines_pkg.SetAcctClass(
8884: p_accounting_class_code => 'ACCOUNTSPAYABLE'
8885: , p_ae_header_id => l_ae_header_id
8886: );
8887:
8887:
8888: --
8889: -- set rounding class
8890: --
8891: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8892: 'ACCOUNTSPAYABLE';
8893:
8894: --
8895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8891: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8892: 'ACCOUNTSPAYABLE';
8893:
8894: --
8895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8897: --
8898: -- bulk performance
8899: --
8892: 'ACCOUNTSPAYABLE';
8893:
8894: --
8895: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8897: --
8898: -- bulk performance
8899: --
8900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8896: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8897: --
8898: -- bulk performance
8899: --
8900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8901:
8902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8904:
8898: -- bulk performance
8899: --
8900: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8901:
8902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8904:
8905: -- 4955764
8906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8902: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8903: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8904:
8905: -- 4955764
8906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8908:
8909: -- 4458381 Public Sector Enh
8910:
9000: l_rec_acct_attrs.array_num_value(37) := p_source_51;
9001: l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
9002: l_rec_acct_attrs.array_num_value(38) := p_source_52;
9003:
9004: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9005: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9006:
9007: ---------------------------------------------------------------------------------------------------------------
9008: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9001: l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
9002: l_rec_acct_attrs.array_num_value(38) := p_source_52;
9003:
9004: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9005: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9006:
9007: ---------------------------------------------------------------------------------------------------------------
9008: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9009: ---------------------------------------------------------------------------------------------------------------
9004: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9005: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9006:
9007: ---------------------------------------------------------------------------------------------------------------
9008: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9009: ---------------------------------------------------------------------------------------------------------------
9010: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9011:
9012: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9006:
9007: ---------------------------------------------------------------------------------------------------------------
9008: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9009: ---------------------------------------------------------------------------------------------------------------
9010: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9011:
9012: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9013: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9014:
9008: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9009: ---------------------------------------------------------------------------------------------------------------
9010: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9011:
9012: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9013: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9014:
9015: IF xla_accounting_cache_pkg.GetValueChar
9016: (p_source_code => 'LEDGER_CATEGORY_CODE'
9009: ---------------------------------------------------------------------------------------------------------------
9010: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9011:
9012: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9013: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9014:
9015: IF xla_accounting_cache_pkg.GetValueChar
9016: (p_source_code => 'LEDGER_CATEGORY_CODE'
9017: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9020: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9021: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9022: )
9023: THEN
9024: xla_ae_lines_pkg.BflowUpgEntry
9025: (p_business_method_code => l_bflow_method_code
9026: ,p_business_class_code => l_bflow_class_code
9027: ,p_balance_type => l_balance_type_code);
9028: ELSE
9026: ,p_business_class_code => l_bflow_class_code
9027: ,p_balance_type => l_balance_type_code);
9028: ELSE
9029: NULL;
9030: XLA_AE_LINES_PKG.business_flow_validation(
9031: p_business_method_code => l_bflow_method_code
9032: ,p_business_class_code => l_bflow_class_code
9033: ,p_inherit_description_flag => l_inherit_desc_flag);
9034: END IF;
9073: xla_accounting_err_pkg.build_message
9074: (p_appli_s_name => 'XLA'
9075: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9076: ,p_token_1 => 'LINE_NUMBER'
9077: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9078: ,p_token_2 => 'LINE_TYPE_NAME'
9079: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9080: l_component_type
9081: ,l_component_code
9109: --
9110: --
9111: ------------------------------------------------------------------------------------------------
9112: -- 4219869 Business Flow
9113: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9114: -- Prior Entry. Currently, the following code is always generated.
9115: ------------------------------------------------------------------------------------------------
9116: -- No ValidateCurrentLine for business flow method of Prior Entry
9117:
9118: ------------------------------------------------------------------------------------
9119: -- 4219869 Business Flow
9120: -- Populated credit and debit amounts -- Need to generate this within IF
9121: ------------------------------------------------------------------------------------
9122: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9123:
9124: ----------------------------------------------------------------------------------
9125: -- 4219869 Business Flow
9126: -- Update journal entry status -- Need to generate this within IF
9150: -- To allow MPA report to determine if it should generate report process
9151: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9152: ------------------------------------------------------------------------------------------
9153:
9154: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9155: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9156: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9157: -- call ADRs
9158: -- Bug 4922099
9151: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9152: ------------------------------------------------------------------------------------------
9153:
9154: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9155: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9156: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9157: -- call ADRs
9158: -- Bug 4922099
9159: --
9172:
9173: --
9174: -- Update the line information that should be overwritten
9175: --
9176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9177: p_header_num => 1);
9178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9179:
9180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9174: -- Update the line information that should be overwritten
9175: --
9176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9177: p_header_num => 1);
9178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9179:
9180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9181:
9182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9177: p_header_num => 1);
9178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9179:
9180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9181:
9182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9183: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9184: END IF;
9179:
9180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9181:
9182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9183: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9184: END IF;
9185:
9186: --
9187: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9186: --
9187: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9188: --
9189: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9190: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9191: ELSE
9192: ---------------------------------------------------------------------------------------------------
9193: -- 4262811a Switch Sign
9194: ---------------------------------------------------------------------------------------------------
9191: ELSE
9192: ---------------------------------------------------------------------------------------------------
9193: -- 4262811a Switch Sign
9194: ---------------------------------------------------------------------------------------------------
9195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9192: ---------------------------------------------------------------------------------------------------
9193: -- 4262811a Switch Sign
9194: ---------------------------------------------------------------------------------------------------
9195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9193: -- 4262811a Switch Sign
9194: ---------------------------------------------------------------------------------------------------
9195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9194: ---------------------------------------------------------------------------------------------------
9195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9203:
9197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9203:
9204: END IF;
9205:
9198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9200: -- 5132302
9201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9203:
9204: END IF;
9205:
9206: -- 4955764
9203:
9204: END IF;
9205:
9206: -- 4955764
9207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9209:
9210:
9211: XLA_AE_LINES_PKG.ValidateCurrentLine;
9207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9209:
9210:
9211: XLA_AE_LINES_PKG.ValidateCurrentLine;
9212: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9213:
9214: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9215: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9209:
9210:
9211: XLA_AE_LINES_PKG.ValidateCurrentLine;
9212: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9213:
9214: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9215: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9216: ,p_balance_type_code => l_balance_type_code);
9414: --
9415: -- bulk performance
9416: --
9417: l_balance_type_code VARCHAR2(1);
9418: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9419: l_log_module VARCHAR2(240);
9420:
9421: --
9422: -- Upgrade strategy
9498: ') <> 'IPV')
9499: ) THEN
9500:
9501: --
9502: XLA_AE_LINES_PKG.SetNewLine;
9503:
9504: p_balance_type_code := l_balance_type_code;
9505: -- set the flag so later we will know whether the gain loss line needs to be created
9506:
9510:
9511: --
9512: -- bulk performance
9513: --
9514: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9515: p_header_num => 0); -- 4262811
9516: --
9517: -- set accounting line options
9518: --
9515: p_header_num => 0); -- 4262811
9516: --
9517: -- set accounting line options
9518: --
9519: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9520: p_natural_side_code => 'D'
9521: , p_gain_or_loss_flag => 'N'
9522: , p_gl_transfer_mode_code => 'S'
9523: , p_acct_entry_type_code => 'A'
9529: --
9530: --
9531: -- set accounting line type info
9532: --
9533: xla_ae_lines_pkg.SetAcctLineType
9534: (p_component_type => l_component_type
9535: ,p_event_type_code => l_event_type_code
9536: ,p_line_definition_owner_code => l_line_definition_owner_code
9537: ,p_line_definition_code => l_line_definition_code
9543: ,p_event_class_code => l_event_class_code);
9544: --
9545: -- set accounting class
9546: --
9547: xla_ae_lines_pkg.SetAcctClass(
9548: p_accounting_class_code => 'ACCOUNTSPAYABLE'
9549: , p_ae_header_id => l_ae_header_id
9550: );
9551:
9551:
9552: --
9553: -- set rounding class
9554: --
9555: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9556: 'ACCOUNTSPAYABLE';
9557:
9558: --
9559: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9555: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9556: 'ACCOUNTSPAYABLE';
9557:
9558: --
9559: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9560: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9561: --
9562: -- bulk performance
9563: --
9556: 'ACCOUNTSPAYABLE';
9557:
9558: --
9559: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9560: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9561: --
9562: -- bulk performance
9563: --
9564: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9560: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9561: --
9562: -- bulk performance
9563: --
9564: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9565:
9566: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9567: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9568:
9562: -- bulk performance
9563: --
9564: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9565:
9566: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9567: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9568:
9569: -- 4955764
9570: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9566: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9567: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9568:
9569: -- 4955764
9570: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9571: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9572:
9573: -- 4458381 Public Sector Enh
9574:
9674: l_rec_acct_attrs.array_num_value(42) := p_source_51;
9675: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
9676: l_rec_acct_attrs.array_num_value(43) := p_source_52;
9677:
9678: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9679: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9680:
9681: ---------------------------------------------------------------------------------------------------------------
9682: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9675: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
9676: l_rec_acct_attrs.array_num_value(43) := p_source_52;
9677:
9678: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9679: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9680:
9681: ---------------------------------------------------------------------------------------------------------------
9682: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9683: ---------------------------------------------------------------------------------------------------------------
9678: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9679: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9680:
9681: ---------------------------------------------------------------------------------------------------------------
9682: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9683: ---------------------------------------------------------------------------------------------------------------
9684: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9685:
9686: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9680:
9681: ---------------------------------------------------------------------------------------------------------------
9682: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9683: ---------------------------------------------------------------------------------------------------------------
9684: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9685:
9686: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9687: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9688:
9682: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9683: ---------------------------------------------------------------------------------------------------------------
9684: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9685:
9686: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9687: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9688:
9689: IF xla_accounting_cache_pkg.GetValueChar
9690: (p_source_code => 'LEDGER_CATEGORY_CODE'
9683: ---------------------------------------------------------------------------------------------------------------
9684: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9685:
9686: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9687: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9688:
9689: IF xla_accounting_cache_pkg.GetValueChar
9690: (p_source_code => 'LEDGER_CATEGORY_CODE'
9691: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9694: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9695: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9696: )
9697: THEN
9698: xla_ae_lines_pkg.BflowUpgEntry
9699: (p_business_method_code => l_bflow_method_code
9700: ,p_business_class_code => l_bflow_class_code
9701: ,p_balance_type => l_balance_type_code);
9702: ELSE
9711: --
9712: -- call description
9713: --
9714:
9715: xla_ae_lines_pkg.SetLineDescription(
9716: p_ae_header_id => l_ae_header_id
9717: ,p_description => Description_2 (
9718: p_application_id => p_application_id
9719: , p_ae_header_id => l_ae_header_id
9744: , x_value_type_code => l_adr_value_type_code
9745: , p_side => 'NA'
9746: );
9747:
9748: xla_ae_lines_pkg.set_ccid(
9749: p_code_combination_id => l_ccid
9750: , p_value_type_code => l_adr_value_type_code
9751: , p_transaction_coa_id => l_adr_transaction_coa_id
9752: , p_accounting_coa_id => l_adr_accounting_coa_id
9779: );
9780:
9781: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9782:
9783: xla_ae_lines_pkg.set_segment(
9784: p_to_segment_code => 'GL_ACCOUNT'
9785: , p_segment_value => l_segment
9786: , p_from_segment_code => l_adr_value_segment_code
9787: , p_from_combination_id => l_adr_value_combination_id
9823: xla_accounting_err_pkg.build_message
9824: (p_appli_s_name => 'XLA'
9825: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9826: ,p_token_1 => 'LINE_NUMBER'
9827: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9828: ,p_token_2 => 'LINE_TYPE_NAME'
9829: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9830: l_component_type
9831: ,l_component_code
9859: --
9860: --
9861: ------------------------------------------------------------------------------------------------
9862: -- 4219869 Business Flow
9863: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9864: -- Prior Entry. Currently, the following code is always generated.
9865: ------------------------------------------------------------------------------------------------
9866: XLA_AE_LINES_PKG.ValidateCurrentLine;
9867:
9862: -- 4219869 Business Flow
9863: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9864: -- Prior Entry. Currently, the following code is always generated.
9865: ------------------------------------------------------------------------------------------------
9866: XLA_AE_LINES_PKG.ValidateCurrentLine;
9867:
9868: ------------------------------------------------------------------------------------
9869: -- 4219869 Business Flow
9870: -- Populated credit and debit amounts -- Need to generate this within IF
9868: ------------------------------------------------------------------------------------
9869: -- 4219869 Business Flow
9870: -- Populated credit and debit amounts -- Need to generate this within IF
9871: ------------------------------------------------------------------------------------
9872: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9873:
9874: ----------------------------------------------------------------------------------
9875: -- 4219869 Business Flow
9876: -- Update journal entry status -- Need to generate this within IF
9900: -- To allow MPA report to determine if it should generate report process
9901: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9902: ------------------------------------------------------------------------------------------
9903:
9904: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9905: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9906: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9907: -- call ADRs
9908: -- Bug 4922099
9901: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9902: ------------------------------------------------------------------------------------------
9903:
9904: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9905: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9906: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9907: -- call ADRs
9908: -- Bug 4922099
9909: --
9925: , x_value_type_code => l_adr_value_type_code
9926: , p_side => 'NA'
9927: );
9928:
9929: xla_ae_lines_pkg.set_ccid(
9930: p_code_combination_id => l_ccid
9931: , p_value_type_code => l_adr_value_type_code
9932: , p_transaction_coa_id => l_adr_transaction_coa_id
9933: , p_accounting_coa_id => l_adr_accounting_coa_id
9960: );
9961:
9962: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9963:
9964: xla_ae_lines_pkg.set_segment(
9965: p_to_segment_code => 'GL_ACCOUNT'
9966: , p_segment_value => l_segment
9967: , p_from_segment_code => l_adr_value_segment_code
9968: , p_from_combination_id => l_adr_value_combination_id
9991:
9992: --
9993: -- Update the line information that should be overwritten
9994: --
9995: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9996: p_header_num => 1);
9997: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9998:
9999: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9993: -- Update the line information that should be overwritten
9994: --
9995: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9996: p_header_num => 1);
9997: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9998:
9999: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10000:
10001: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9995: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9996: p_header_num => 1);
9997: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9998:
9999: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10000:
10001: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10002: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10003: END IF;
9998:
9999: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10000:
10001: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10002: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10003: END IF;
10004:
10005: --
10006: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10005: --
10006: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10007: --
10008: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10009: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10010: ELSE
10011: ---------------------------------------------------------------------------------------------------
10012: -- 4262811a Switch Sign
10013: ---------------------------------------------------------------------------------------------------
10010: ELSE
10011: ---------------------------------------------------------------------------------------------------
10012: -- 4262811a Switch Sign
10013: ---------------------------------------------------------------------------------------------------
10014: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10011: ---------------------------------------------------------------------------------------------------
10012: -- 4262811a Switch Sign
10013: ---------------------------------------------------------------------------------------------------
10014: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10012: -- 4262811a Switch Sign
10013: ---------------------------------------------------------------------------------------------------
10014: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10013: ---------------------------------------------------------------------------------------------------
10014: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10021: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10014: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10021: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10022:
10016: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10021: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10022:
10023: END IF;
10024:
10017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10018: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10019: -- 5132302
10020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10021: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10022:
10023: END IF;
10024:
10025: -- 4955764
10022:
10023: END IF;
10024:
10025: -- 4955764
10026: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10027: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10028:
10029:
10030: XLA_AE_LINES_PKG.ValidateCurrentLine;
10026: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10027: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10028:
10029:
10030: XLA_AE_LINES_PKG.ValidateCurrentLine;
10031: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10032:
10033: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10034: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10027: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10028:
10029:
10030: XLA_AE_LINES_PKG.ValidateCurrentLine;
10031: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10032:
10033: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10034: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10035: ,p_balance_type_code => l_balance_type_code);
10234: --
10235: -- bulk performance
10236: --
10237: l_balance_type_code VARCHAR2(1);
10238: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10239: l_log_module VARCHAR2(240);
10240:
10241: --
10242: -- Upgrade strategy
10318: ') <> 'IPV')
10319: ) THEN
10320:
10321: --
10322: XLA_AE_LINES_PKG.SetNewLine;
10323:
10324: p_balance_type_code := l_balance_type_code;
10325: -- set the flag so later we will know whether the gain loss line needs to be created
10326:
10330:
10331: --
10332: -- bulk performance
10333: --
10334: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10335: p_header_num => 0); -- 4262811
10336: --
10337: -- set accounting line options
10338: --
10335: p_header_num => 0); -- 4262811
10336: --
10337: -- set accounting line options
10338: --
10339: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10340: p_natural_side_code => 'C'
10341: , p_gain_or_loss_flag => 'N'
10342: , p_gl_transfer_mode_code => 'S'
10343: , p_acct_entry_type_code => 'A'
10349: --
10350: --
10351: -- set accounting line type info
10352: --
10353: xla_ae_lines_pkg.SetAcctLineType
10354: (p_component_type => l_component_type
10355: ,p_event_type_code => l_event_type_code
10356: ,p_line_definition_owner_code => l_line_definition_owner_code
10357: ,p_line_definition_code => l_line_definition_code
10363: ,p_event_class_code => l_event_class_code);
10364: --
10365: -- set accounting class
10366: --
10367: xla_ae_lines_pkg.SetAcctClass(
10368: p_accounting_class_code => 'ACCOUNTSPAYABLE'
10369: , p_ae_header_id => l_ae_header_id
10370: );
10371:
10371:
10372: --
10373: -- set rounding class
10374: --
10375: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10376: 'ACCOUNTSPAYABLE';
10377:
10378: --
10379: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10375: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10376: 'ACCOUNTSPAYABLE';
10377:
10378: --
10379: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10380: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10381: --
10382: -- bulk performance
10383: --
10376: 'ACCOUNTSPAYABLE';
10377:
10378: --
10379: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10380: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10381: --
10382: -- bulk performance
10383: --
10384: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10380: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10381: --
10382: -- bulk performance
10383: --
10384: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10385:
10386: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10387: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10388:
10382: -- bulk performance
10383: --
10384: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10385:
10386: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10387: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10388:
10389: -- 4955764
10390: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10386: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10387: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10388:
10389: -- 4955764
10390: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10391: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10392:
10393: -- 4458381 Public Sector Enh
10394:
10494: l_rec_acct_attrs.array_num_value(42) := p_source_51;
10495: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
10496: l_rec_acct_attrs.array_num_value(43) := p_source_52;
10497:
10498: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10499: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10500:
10501: ---------------------------------------------------------------------------------------------------------------
10502: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10495: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
10496: l_rec_acct_attrs.array_num_value(43) := p_source_52;
10497:
10498: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10499: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10500:
10501: ---------------------------------------------------------------------------------------------------------------
10502: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10503: ---------------------------------------------------------------------------------------------------------------
10498: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10499: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10500:
10501: ---------------------------------------------------------------------------------------------------------------
10502: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10503: ---------------------------------------------------------------------------------------------------------------
10504: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10505:
10506: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10500:
10501: ---------------------------------------------------------------------------------------------------------------
10502: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10503: ---------------------------------------------------------------------------------------------------------------
10504: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10505:
10506: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10507: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10508:
10502: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10503: ---------------------------------------------------------------------------------------------------------------
10504: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10505:
10506: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10507: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10508:
10509: IF xla_accounting_cache_pkg.GetValueChar
10510: (p_source_code => 'LEDGER_CATEGORY_CODE'
10503: ---------------------------------------------------------------------------------------------------------------
10504: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10505:
10506: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10507: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10508:
10509: IF xla_accounting_cache_pkg.GetValueChar
10510: (p_source_code => 'LEDGER_CATEGORY_CODE'
10511: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10514: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10515: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10516: )
10517: THEN
10518: xla_ae_lines_pkg.BflowUpgEntry
10519: (p_business_method_code => l_bflow_method_code
10520: ,p_business_class_code => l_bflow_class_code
10521: ,p_balance_type => l_balance_type_code);
10522: ELSE
10531: --
10532: -- call description
10533: --
10534:
10535: xla_ae_lines_pkg.SetLineDescription(
10536: p_ae_header_id => l_ae_header_id
10537: ,p_description => Description_2 (
10538: p_application_id => p_application_id
10539: , p_ae_header_id => l_ae_header_id
10564: , x_value_type_code => l_adr_value_type_code
10565: , p_side => 'NA'
10566: );
10567:
10568: xla_ae_lines_pkg.set_ccid(
10569: p_code_combination_id => l_ccid
10570: , p_value_type_code => l_adr_value_type_code
10571: , p_transaction_coa_id => l_adr_transaction_coa_id
10572: , p_accounting_coa_id => l_adr_accounting_coa_id
10603: );
10604:
10605: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10606:
10607: xla_ae_lines_pkg.set_segment(
10608: p_to_segment_code => 'GL_ACCOUNT'
10609: , p_segment_value => l_segment
10610: , p_from_segment_code => l_adr_value_segment_code
10611: , p_from_combination_id => l_adr_value_combination_id
10647: xla_accounting_err_pkg.build_message
10648: (p_appli_s_name => 'XLA'
10649: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10650: ,p_token_1 => 'LINE_NUMBER'
10651: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10652: ,p_token_2 => 'LINE_TYPE_NAME'
10653: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10654: l_component_type
10655: ,l_component_code
10683: --
10684: --
10685: ------------------------------------------------------------------------------------------------
10686: -- 4219869 Business Flow
10687: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10688: -- Prior Entry. Currently, the following code is always generated.
10689: ------------------------------------------------------------------------------------------------
10690: XLA_AE_LINES_PKG.ValidateCurrentLine;
10691:
10686: -- 4219869 Business Flow
10687: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10688: -- Prior Entry. Currently, the following code is always generated.
10689: ------------------------------------------------------------------------------------------------
10690: XLA_AE_LINES_PKG.ValidateCurrentLine;
10691:
10692: ------------------------------------------------------------------------------------
10693: -- 4219869 Business Flow
10694: -- Populated credit and debit amounts -- Need to generate this within IF
10692: ------------------------------------------------------------------------------------
10693: -- 4219869 Business Flow
10694: -- Populated credit and debit amounts -- Need to generate this within IF
10695: ------------------------------------------------------------------------------------
10696: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10697:
10698: ----------------------------------------------------------------------------------
10699: -- 4219869 Business Flow
10700: -- Update journal entry status -- Need to generate this within IF
10724: -- To allow MPA report to determine if it should generate report process
10725: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10726: ------------------------------------------------------------------------------------------
10727:
10728: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10729: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10730: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10731: -- call ADRs
10732: -- Bug 4922099
10725: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10726: ------------------------------------------------------------------------------------------
10727:
10728: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10729: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10730: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10731: -- call ADRs
10732: -- Bug 4922099
10733: --
10749: , x_value_type_code => l_adr_value_type_code
10750: , p_side => 'NA'
10751: );
10752:
10753: xla_ae_lines_pkg.set_ccid(
10754: p_code_combination_id => l_ccid
10755: , p_value_type_code => l_adr_value_type_code
10756: , p_transaction_coa_id => l_adr_transaction_coa_id
10757: , p_accounting_coa_id => l_adr_accounting_coa_id
10788: );
10789:
10790: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10791:
10792: xla_ae_lines_pkg.set_segment(
10793: p_to_segment_code => 'GL_ACCOUNT'
10794: , p_segment_value => l_segment
10795: , p_from_segment_code => l_adr_value_segment_code
10796: , p_from_combination_id => l_adr_value_combination_id
10819:
10820: --
10821: -- Update the line information that should be overwritten
10822: --
10823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10824: p_header_num => 1);
10825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10826:
10827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10821: -- Update the line information that should be overwritten
10822: --
10823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10824: p_header_num => 1);
10825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10826:
10827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10828:
10829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10824: p_header_num => 1);
10825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10826:
10827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10828:
10829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10830: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10831: END IF;
10826:
10827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10828:
10829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10830: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10831: END IF;
10832:
10833: --
10834: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10833: --
10834: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10835: --
10836: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10837: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10838: ELSE
10839: ---------------------------------------------------------------------------------------------------
10840: -- 4262811a Switch Sign
10841: ---------------------------------------------------------------------------------------------------
10838: ELSE
10839: ---------------------------------------------------------------------------------------------------
10840: -- 4262811a Switch Sign
10841: ---------------------------------------------------------------------------------------------------
10842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10839: ---------------------------------------------------------------------------------------------------
10840: -- 4262811a Switch Sign
10841: ---------------------------------------------------------------------------------------------------
10842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10840: -- 4262811a Switch Sign
10841: ---------------------------------------------------------------------------------------------------
10842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10841: ---------------------------------------------------------------------------------------------------
10842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10850:
10844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10850:
10851: END IF;
10852:
10845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10847: -- 5132302
10848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10850:
10851: END IF;
10852:
10853: -- 4955764
10850:
10851: END IF;
10852:
10853: -- 4955764
10854: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10856:
10857:
10858: XLA_AE_LINES_PKG.ValidateCurrentLine;
10854: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10856:
10857:
10858: XLA_AE_LINES_PKG.ValidateCurrentLine;
10859: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10860:
10861: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10862: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10856:
10857:
10858: XLA_AE_LINES_PKG.ValidateCurrentLine;
10859: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10860:
10861: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10862: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10863: ,p_balance_type_code => l_balance_type_code);
11057: --
11058: -- bulk performance
11059: --
11060: l_balance_type_code VARCHAR2(1);
11061: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11062: l_log_module VARCHAR2(240);
11063:
11064: --
11065: -- Upgrade strategy
11135: ') = 'ACCRUAL')
11136: THEN
11137:
11138: --
11139: XLA_AE_LINES_PKG.SetNewLine;
11140:
11141: p_balance_type_code := l_balance_type_code;
11142: -- set the flag so later we will know whether the gain loss line needs to be created
11143:
11147:
11148: --
11149: -- bulk performance
11150: --
11151: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11152: p_header_num => 0); -- 4262811
11153: --
11154: -- set accounting line options
11155: --
11152: p_header_num => 0); -- 4262811
11153: --
11154: -- set accounting line options
11155: --
11156: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11157: p_natural_side_code => 'D'
11158: , p_gain_or_loss_flag => 'N'
11159: , p_gl_transfer_mode_code => 'S'
11160: , p_acct_entry_type_code => 'A'
11166: --
11167: --
11168: -- set accounting line type info
11169: --
11170: xla_ae_lines_pkg.SetAcctLineType
11171: (p_component_type => l_component_type
11172: ,p_event_type_code => l_event_type_code
11173: ,p_line_definition_owner_code => l_line_definition_owner_code
11174: ,p_line_definition_code => l_line_definition_code
11180: ,p_event_class_code => l_event_class_code);
11181: --
11182: -- set accounting class
11183: --
11184: xla_ae_lines_pkg.SetAcctClass(
11185: p_accounting_class_code => 'ACCOUNTSPAYABLE'
11186: , p_ae_header_id => l_ae_header_id
11187: );
11188:
11188:
11189: --
11190: -- set rounding class
11191: --
11192: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11193: 'ACCOUNTSPAYABLE';
11194:
11195: --
11196: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11192: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11193: 'ACCOUNTSPAYABLE';
11194:
11195: --
11196: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11197: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11198: --
11199: -- bulk performance
11200: --
11193: 'ACCOUNTSPAYABLE';
11194:
11195: --
11196: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11197: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11198: --
11199: -- bulk performance
11200: --
11201: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11197: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11198: --
11199: -- bulk performance
11200: --
11201: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11202:
11203: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11204: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11205:
11199: -- bulk performance
11200: --
11201: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11202:
11203: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11204: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11205:
11206: -- 4955764
11207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11203: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11204: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11205:
11206: -- 4955764
11207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11209:
11210: -- 4458381 Public Sector Enh
11211:
11309: l_rec_acct_attrs.array_num_value(41) := p_source_51;
11310: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
11311: l_rec_acct_attrs.array_num_value(42) := p_source_52;
11312:
11313: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11314: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11315:
11316: ---------------------------------------------------------------------------------------------------------------
11317: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11310: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
11311: l_rec_acct_attrs.array_num_value(42) := p_source_52;
11312:
11313: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11314: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11315:
11316: ---------------------------------------------------------------------------------------------------------------
11317: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11318: ---------------------------------------------------------------------------------------------------------------
11313: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11314: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11315:
11316: ---------------------------------------------------------------------------------------------------------------
11317: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11318: ---------------------------------------------------------------------------------------------------------------
11319: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11320:
11321: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11315:
11316: ---------------------------------------------------------------------------------------------------------------
11317: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11318: ---------------------------------------------------------------------------------------------------------------
11319: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11320:
11321: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11322: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11323:
11317: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11318: ---------------------------------------------------------------------------------------------------------------
11319: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11320:
11321: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11322: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11323:
11324: IF xla_accounting_cache_pkg.GetValueChar
11325: (p_source_code => 'LEDGER_CATEGORY_CODE'
11318: ---------------------------------------------------------------------------------------------------------------
11319: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11320:
11321: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11322: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11323:
11324: IF xla_accounting_cache_pkg.GetValueChar
11325: (p_source_code => 'LEDGER_CATEGORY_CODE'
11326: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11329: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11330: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11331: )
11332: THEN
11333: xla_ae_lines_pkg.BflowUpgEntry
11334: (p_business_method_code => l_bflow_method_code
11335: ,p_business_class_code => l_bflow_class_code
11336: ,p_balance_type => l_balance_type_code);
11337: ELSE
11346: --
11347: -- call description
11348: --
11349:
11350: xla_ae_lines_pkg.SetLineDescription(
11351: p_ae_header_id => l_ae_header_id
11352: ,p_description => Description_2 (
11353: p_application_id => p_application_id
11354: , p_ae_header_id => l_ae_header_id
11379: , x_value_type_code => l_adr_value_type_code
11380: , p_side => 'NA'
11381: );
11382:
11383: xla_ae_lines_pkg.set_ccid(
11384: p_code_combination_id => l_ccid
11385: , p_value_type_code => l_adr_value_type_code
11386: , p_transaction_coa_id => l_adr_transaction_coa_id
11387: , p_accounting_coa_id => l_adr_accounting_coa_id
11414: );
11415:
11416: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11417:
11418: xla_ae_lines_pkg.set_segment(
11419: p_to_segment_code => 'GL_ACCOUNT'
11420: , p_segment_value => l_segment
11421: , p_from_segment_code => l_adr_value_segment_code
11422: , p_from_combination_id => l_adr_value_combination_id
11458: xla_accounting_err_pkg.build_message
11459: (p_appli_s_name => 'XLA'
11460: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11461: ,p_token_1 => 'LINE_NUMBER'
11462: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11463: ,p_token_2 => 'LINE_TYPE_NAME'
11464: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11465: l_component_type
11466: ,l_component_code
11494: --
11495: --
11496: ------------------------------------------------------------------------------------------------
11497: -- 4219869 Business Flow
11498: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11499: -- Prior Entry. Currently, the following code is always generated.
11500: ------------------------------------------------------------------------------------------------
11501: XLA_AE_LINES_PKG.ValidateCurrentLine;
11502:
11497: -- 4219869 Business Flow
11498: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11499: -- Prior Entry. Currently, the following code is always generated.
11500: ------------------------------------------------------------------------------------------------
11501: XLA_AE_LINES_PKG.ValidateCurrentLine;
11502:
11503: ------------------------------------------------------------------------------------
11504: -- 4219869 Business Flow
11505: -- Populated credit and debit amounts -- Need to generate this within IF
11503: ------------------------------------------------------------------------------------
11504: -- 4219869 Business Flow
11505: -- Populated credit and debit amounts -- Need to generate this within IF
11506: ------------------------------------------------------------------------------------
11507: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11508:
11509: ----------------------------------------------------------------------------------
11510: -- 4219869 Business Flow
11511: -- Update journal entry status -- Need to generate this within IF
11535: -- To allow MPA report to determine if it should generate report process
11536: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11537: ------------------------------------------------------------------------------------------
11538:
11539: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11540: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11541: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11542: -- call ADRs
11543: -- Bug 4922099
11536: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11537: ------------------------------------------------------------------------------------------
11538:
11539: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11540: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11541: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11542: -- call ADRs
11543: -- Bug 4922099
11544: --
11560: , x_value_type_code => l_adr_value_type_code
11561: , p_side => 'NA'
11562: );
11563:
11564: xla_ae_lines_pkg.set_ccid(
11565: p_code_combination_id => l_ccid
11566: , p_value_type_code => l_adr_value_type_code
11567: , p_transaction_coa_id => l_adr_transaction_coa_id
11568: , p_accounting_coa_id => l_adr_accounting_coa_id
11595: );
11596:
11597: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11598:
11599: xla_ae_lines_pkg.set_segment(
11600: p_to_segment_code => 'GL_ACCOUNT'
11601: , p_segment_value => l_segment
11602: , p_from_segment_code => l_adr_value_segment_code
11603: , p_from_combination_id => l_adr_value_combination_id
11626:
11627: --
11628: -- Update the line information that should be overwritten
11629: --
11630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11631: p_header_num => 1);
11632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11633:
11634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11628: -- Update the line information that should be overwritten
11629: --
11630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11631: p_header_num => 1);
11632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11633:
11634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11635:
11636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11630: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11631: p_header_num => 1);
11632: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11633:
11634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11635:
11636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11637: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11638: END IF;
11633:
11634: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11635:
11636: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11637: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11638: END IF;
11639:
11640: --
11641: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11640: --
11641: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11642: --
11643: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11644: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11645: ELSE
11646: ---------------------------------------------------------------------------------------------------
11647: -- 4262811a Switch Sign
11648: ---------------------------------------------------------------------------------------------------
11645: ELSE
11646: ---------------------------------------------------------------------------------------------------
11647: -- 4262811a Switch Sign
11648: ---------------------------------------------------------------------------------------------------
11649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11646: ---------------------------------------------------------------------------------------------------
11647: -- 4262811a Switch Sign
11648: ---------------------------------------------------------------------------------------------------
11649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11647: -- 4262811a Switch Sign
11648: ---------------------------------------------------------------------------------------------------
11649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11648: ---------------------------------------------------------------------------------------------------
11649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11649: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11650: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11657:
11651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11657:
11658: END IF;
11659:
11652: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11653: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11654: -- 5132302
11655: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11656: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11657:
11658: END IF;
11659:
11660: -- 4955764
11657:
11658: END IF;
11659:
11660: -- 4955764
11661: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11663:
11664:
11665: XLA_AE_LINES_PKG.ValidateCurrentLine;
11661: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11663:
11664:
11665: XLA_AE_LINES_PKG.ValidateCurrentLine;
11666: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11667:
11668: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11669: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11662: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11663:
11664:
11665: XLA_AE_LINES_PKG.ValidateCurrentLine;
11666: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11667:
11668: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11669: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11670: ,p_balance_type_code => l_balance_type_code);
11867: --
11868: -- bulk performance
11869: --
11870: l_balance_type_code VARCHAR2(1);
11871: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11872: l_log_module VARCHAR2(240);
11873:
11874: --
11875: -- Upgrade strategy
11945: ') = 'ACCRUAL')
11946: THEN
11947:
11948: --
11949: XLA_AE_LINES_PKG.SetNewLine;
11950:
11951: p_balance_type_code := l_balance_type_code;
11952: -- set the flag so later we will know whether the gain loss line needs to be created
11953:
11957:
11958: --
11959: -- bulk performance
11960: --
11961: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11962: p_header_num => 0); -- 4262811
11963: --
11964: -- set accounting line options
11965: --
11962: p_header_num => 0); -- 4262811
11963: --
11964: -- set accounting line options
11965: --
11966: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11967: p_natural_side_code => 'C'
11968: , p_gain_or_loss_flag => 'N'
11969: , p_gl_transfer_mode_code => 'S'
11970: , p_acct_entry_type_code => 'A'
11976: --
11977: --
11978: -- set accounting line type info
11979: --
11980: xla_ae_lines_pkg.SetAcctLineType
11981: (p_component_type => l_component_type
11982: ,p_event_type_code => l_event_type_code
11983: ,p_line_definition_owner_code => l_line_definition_owner_code
11984: ,p_line_definition_code => l_line_definition_code
11990: ,p_event_class_code => l_event_class_code);
11991: --
11992: -- set accounting class
11993: --
11994: xla_ae_lines_pkg.SetAcctClass(
11995: p_accounting_class_code => 'ACCOUNTSPAYABLE'
11996: , p_ae_header_id => l_ae_header_id
11997: );
11998:
11998:
11999: --
12000: -- set rounding class
12001: --
12002: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12003: 'ACCOUNTSPAYABLE';
12004:
12005: --
12006: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12002: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12003: 'ACCOUNTSPAYABLE';
12004:
12005: --
12006: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12007: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12008: --
12009: -- bulk performance
12010: --
12003: 'ACCOUNTSPAYABLE';
12004:
12005: --
12006: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12007: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12008: --
12009: -- bulk performance
12010: --
12011: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12007: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12008: --
12009: -- bulk performance
12010: --
12011: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12012:
12013: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12014: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12015:
12009: -- bulk performance
12010: --
12011: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12012:
12013: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12014: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12015:
12016: -- 4955764
12017: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12013: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12014: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12015:
12016: -- 4955764
12017: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12018: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12019:
12020: -- 4458381 Public Sector Enh
12021:
12119: l_rec_acct_attrs.array_num_value(41) := p_source_51;
12120: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
12121: l_rec_acct_attrs.array_num_value(42) := p_source_52;
12122:
12123: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12124: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12125:
12126: ---------------------------------------------------------------------------------------------------------------
12127: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12120: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
12121: l_rec_acct_attrs.array_num_value(42) := p_source_52;
12122:
12123: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12124: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12125:
12126: ---------------------------------------------------------------------------------------------------------------
12127: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12128: ---------------------------------------------------------------------------------------------------------------
12123: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12124: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12125:
12126: ---------------------------------------------------------------------------------------------------------------
12127: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12128: ---------------------------------------------------------------------------------------------------------------
12129: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12130:
12131: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12125:
12126: ---------------------------------------------------------------------------------------------------------------
12127: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12128: ---------------------------------------------------------------------------------------------------------------
12129: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12130:
12131: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12132: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12133:
12127: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12128: ---------------------------------------------------------------------------------------------------------------
12129: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12130:
12131: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12132: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12133:
12134: IF xla_accounting_cache_pkg.GetValueChar
12135: (p_source_code => 'LEDGER_CATEGORY_CODE'
12128: ---------------------------------------------------------------------------------------------------------------
12129: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12130:
12131: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12132: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12133:
12134: IF xla_accounting_cache_pkg.GetValueChar
12135: (p_source_code => 'LEDGER_CATEGORY_CODE'
12136: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12139: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12140: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12141: )
12142: THEN
12143: xla_ae_lines_pkg.BflowUpgEntry
12144: (p_business_method_code => l_bflow_method_code
12145: ,p_business_class_code => l_bflow_class_code
12146: ,p_balance_type => l_balance_type_code);
12147: ELSE
12156: --
12157: -- call description
12158: --
12159:
12160: xla_ae_lines_pkg.SetLineDescription(
12161: p_ae_header_id => l_ae_header_id
12162: ,p_description => Description_2 (
12163: p_application_id => p_application_id
12164: , p_ae_header_id => l_ae_header_id
12189: , x_value_type_code => l_adr_value_type_code
12190: , p_side => 'NA'
12191: );
12192:
12193: xla_ae_lines_pkg.set_ccid(
12194: p_code_combination_id => l_ccid
12195: , p_value_type_code => l_adr_value_type_code
12196: , p_transaction_coa_id => l_adr_transaction_coa_id
12197: , p_accounting_coa_id => l_adr_accounting_coa_id
12228: );
12229:
12230: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12231:
12232: xla_ae_lines_pkg.set_segment(
12233: p_to_segment_code => 'GL_ACCOUNT'
12234: , p_segment_value => l_segment
12235: , p_from_segment_code => l_adr_value_segment_code
12236: , p_from_combination_id => l_adr_value_combination_id
12272: xla_accounting_err_pkg.build_message
12273: (p_appli_s_name => 'XLA'
12274: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12275: ,p_token_1 => 'LINE_NUMBER'
12276: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12277: ,p_token_2 => 'LINE_TYPE_NAME'
12278: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12279: l_component_type
12280: ,l_component_code
12308: --
12309: --
12310: ------------------------------------------------------------------------------------------------
12311: -- 4219869 Business Flow
12312: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12313: -- Prior Entry. Currently, the following code is always generated.
12314: ------------------------------------------------------------------------------------------------
12315: XLA_AE_LINES_PKG.ValidateCurrentLine;
12316:
12311: -- 4219869 Business Flow
12312: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12313: -- Prior Entry. Currently, the following code is always generated.
12314: ------------------------------------------------------------------------------------------------
12315: XLA_AE_LINES_PKG.ValidateCurrentLine;
12316:
12317: ------------------------------------------------------------------------------------
12318: -- 4219869 Business Flow
12319: -- Populated credit and debit amounts -- Need to generate this within IF
12317: ------------------------------------------------------------------------------------
12318: -- 4219869 Business Flow
12319: -- Populated credit and debit amounts -- Need to generate this within IF
12320: ------------------------------------------------------------------------------------
12321: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12322:
12323: ----------------------------------------------------------------------------------
12324: -- 4219869 Business Flow
12325: -- Update journal entry status -- Need to generate this within IF
12349: -- To allow MPA report to determine if it should generate report process
12350: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12351: ------------------------------------------------------------------------------------------
12352:
12353: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12354: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12355: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12356: -- call ADRs
12357: -- Bug 4922099
12350: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12351: ------------------------------------------------------------------------------------------
12352:
12353: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12354: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12355: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12356: -- call ADRs
12357: -- Bug 4922099
12358: --
12374: , x_value_type_code => l_adr_value_type_code
12375: , p_side => 'NA'
12376: );
12377:
12378: xla_ae_lines_pkg.set_ccid(
12379: p_code_combination_id => l_ccid
12380: , p_value_type_code => l_adr_value_type_code
12381: , p_transaction_coa_id => l_adr_transaction_coa_id
12382: , p_accounting_coa_id => l_adr_accounting_coa_id
12413: );
12414:
12415: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12416:
12417: xla_ae_lines_pkg.set_segment(
12418: p_to_segment_code => 'GL_ACCOUNT'
12419: , p_segment_value => l_segment
12420: , p_from_segment_code => l_adr_value_segment_code
12421: , p_from_combination_id => l_adr_value_combination_id
12444:
12445: --
12446: -- Update the line information that should be overwritten
12447: --
12448: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12449: p_header_num => 1);
12450: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12451:
12452: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12446: -- Update the line information that should be overwritten
12447: --
12448: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12449: p_header_num => 1);
12450: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12451:
12452: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12453:
12454: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12448: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12449: p_header_num => 1);
12450: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12451:
12452: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12453:
12454: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12455: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12456: END IF;
12451:
12452: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12453:
12454: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12455: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12456: END IF;
12457:
12458: --
12459: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12458: --
12459: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12460: --
12461: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12462: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12463: ELSE
12464: ---------------------------------------------------------------------------------------------------
12465: -- 4262811a Switch Sign
12466: ---------------------------------------------------------------------------------------------------
12463: ELSE
12464: ---------------------------------------------------------------------------------------------------
12465: -- 4262811a Switch Sign
12466: ---------------------------------------------------------------------------------------------------
12467: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12468: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12464: ---------------------------------------------------------------------------------------------------
12465: -- 4262811a Switch Sign
12466: ---------------------------------------------------------------------------------------------------
12467: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12468: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12465: -- 4262811a Switch Sign
12466: ---------------------------------------------------------------------------------------------------
12467: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12468: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12473: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12466: ---------------------------------------------------------------------------------------------------
12467: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12468: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12473: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12474: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12467: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12468: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12473: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12474: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12475:
12469: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12473: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12474: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12475:
12476: END IF;
12477:
12470: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12471: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12472: -- 5132302
12473: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12474: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12475:
12476: END IF;
12477:
12478: -- 4955764
12475:
12476: END IF;
12477:
12478: -- 4955764
12479: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12480: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12481:
12482:
12483: XLA_AE_LINES_PKG.ValidateCurrentLine;
12479: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12480: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12481:
12482:
12483: XLA_AE_LINES_PKG.ValidateCurrentLine;
12484: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12485:
12486: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12487: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12480: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12481:
12482:
12483: XLA_AE_LINES_PKG.ValidateCurrentLine;
12484: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12485:
12486: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12487: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12488: ,p_balance_type_code => l_balance_type_code);
12689: --
12690: -- bulk performance
12691: --
12692: l_balance_type_code VARCHAR2(1);
12693: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12694: l_log_module VARCHAR2(240);
12695:
12696: --
12697: -- Upgrade strategy
12778: ') <> 'Y'
12779: THEN
12780:
12781: --
12782: XLA_AE_LINES_PKG.SetNewLine;
12783:
12784: p_balance_type_code := l_balance_type_code;
12785: -- set the flag so later we will know whether the gain loss line needs to be created
12786:
12790:
12791: --
12792: -- bulk performance
12793: --
12794: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12795: p_header_num => 0); -- 4262811
12796: --
12797: -- set accounting line options
12798: --
12795: p_header_num => 0); -- 4262811
12796: --
12797: -- set accounting line options
12798: --
12799: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12800: p_natural_side_code => 'C'
12801: , p_gain_or_loss_flag => 'N'
12802: , p_gl_transfer_mode_code => 'S'
12803: , p_acct_entry_type_code => 'A'
12809: --
12810: --
12811: -- set accounting line type info
12812: --
12813: xla_ae_lines_pkg.SetAcctLineType
12814: (p_component_type => l_component_type
12815: ,p_event_type_code => l_event_type_code
12816: ,p_line_definition_owner_code => l_line_definition_owner_code
12817: ,p_line_definition_code => l_line_definition_code
12823: ,p_event_class_code => l_event_class_code);
12824: --
12825: -- set accounting class
12826: --
12827: xla_ae_lines_pkg.SetAcctClass(
12828: p_accounting_class_code => 'ACCOUNTSPAYABLE'
12829: , p_ae_header_id => l_ae_header_id
12830: );
12831:
12831:
12832: --
12833: -- set rounding class
12834: --
12835: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12836: 'ACCOUNTSPAYABLE';
12837:
12838: --
12839: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12835: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12836: 'ACCOUNTSPAYABLE';
12837:
12838: --
12839: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12840: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12841: --
12842: -- bulk performance
12843: --
12836: 'ACCOUNTSPAYABLE';
12837:
12838: --
12839: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12840: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12841: --
12842: -- bulk performance
12843: --
12844: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12840: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12841: --
12842: -- bulk performance
12843: --
12844: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12845:
12846: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12847: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12848:
12842: -- bulk performance
12843: --
12844: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12845:
12846: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12847: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12848:
12849: -- 4955764
12850: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12846: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12847: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12848:
12849: -- 4955764
12850: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12851: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12852:
12853: -- 4458381 Public Sector Enh
12854:
12956: l_rec_acct_attrs.array_num_value(43) := p_source_51;
12957: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
12958: l_rec_acct_attrs.array_num_value(44) := p_source_52;
12959:
12960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12962:
12963: ---------------------------------------------------------------------------------------------------------------
12964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12957: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
12958: l_rec_acct_attrs.array_num_value(44) := p_source_52;
12959:
12960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12962:
12963: ---------------------------------------------------------------------------------------------------------------
12964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12965: ---------------------------------------------------------------------------------------------------------------
12960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12962:
12963: ---------------------------------------------------------------------------------------------------------------
12964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12965: ---------------------------------------------------------------------------------------------------------------
12966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12967:
12968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12962:
12963: ---------------------------------------------------------------------------------------------------------------
12964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12965: ---------------------------------------------------------------------------------------------------------------
12966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12967:
12968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12970:
12964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12965: ---------------------------------------------------------------------------------------------------------------
12966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12967:
12968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12970:
12971: IF xla_accounting_cache_pkg.GetValueChar
12972: (p_source_code => 'LEDGER_CATEGORY_CODE'
12965: ---------------------------------------------------------------------------------------------------------------
12966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12967:
12968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12970:
12971: IF xla_accounting_cache_pkg.GetValueChar
12972: (p_source_code => 'LEDGER_CATEGORY_CODE'
12973: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12976: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12977: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12978: )
12979: THEN
12980: xla_ae_lines_pkg.BflowUpgEntry
12981: (p_business_method_code => l_bflow_method_code
12982: ,p_business_class_code => l_bflow_class_code
12983: ,p_balance_type => l_balance_type_code);
12984: ELSE
12993: --
12994: -- call description
12995: --
12996:
12997: xla_ae_lines_pkg.SetLineDescription(
12998: p_ae_header_id => l_ae_header_id
12999: ,p_description => Description_2 (
13000: p_application_id => p_application_id
13001: , p_ae_header_id => l_ae_header_id
13026: , x_value_type_code => l_adr_value_type_code
13027: , p_side => 'NA'
13028: );
13029:
13030: xla_ae_lines_pkg.set_ccid(
13031: p_code_combination_id => l_ccid
13032: , p_value_type_code => l_adr_value_type_code
13033: , p_transaction_coa_id => l_adr_transaction_coa_id
13034: , p_accounting_coa_id => l_adr_accounting_coa_id
13065: );
13066:
13067: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13068:
13069: xla_ae_lines_pkg.set_segment(
13070: p_to_segment_code => 'GL_ACCOUNT'
13071: , p_segment_value => l_segment
13072: , p_from_segment_code => l_adr_value_segment_code
13073: , p_from_combination_id => l_adr_value_combination_id
13109: xla_accounting_err_pkg.build_message
13110: (p_appli_s_name => 'XLA'
13111: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13112: ,p_token_1 => 'LINE_NUMBER'
13113: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13114: ,p_token_2 => 'LINE_TYPE_NAME'
13115: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13116: l_component_type
13117: ,l_component_code
13145: --
13146: --
13147: ------------------------------------------------------------------------------------------------
13148: -- 4219869 Business Flow
13149: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13150: -- Prior Entry. Currently, the following code is always generated.
13151: ------------------------------------------------------------------------------------------------
13152: XLA_AE_LINES_PKG.ValidateCurrentLine;
13153:
13148: -- 4219869 Business Flow
13149: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13150: -- Prior Entry. Currently, the following code is always generated.
13151: ------------------------------------------------------------------------------------------------
13152: XLA_AE_LINES_PKG.ValidateCurrentLine;
13153:
13154: ------------------------------------------------------------------------------------
13155: -- 4219869 Business Flow
13156: -- Populated credit and debit amounts -- Need to generate this within IF
13154: ------------------------------------------------------------------------------------
13155: -- 4219869 Business Flow
13156: -- Populated credit and debit amounts -- Need to generate this within IF
13157: ------------------------------------------------------------------------------------
13158: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13159:
13160: ----------------------------------------------------------------------------------
13161: -- 4219869 Business Flow
13162: -- Update journal entry status -- Need to generate this within IF
13186: -- To allow MPA report to determine if it should generate report process
13187: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13188: ------------------------------------------------------------------------------------------
13189:
13190: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13191: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13192: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13193: -- call ADRs
13194: -- Bug 4922099
13187: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13188: ------------------------------------------------------------------------------------------
13189:
13190: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13191: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13192: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13193: -- call ADRs
13194: -- Bug 4922099
13195: --
13211: , x_value_type_code => l_adr_value_type_code
13212: , p_side => 'NA'
13213: );
13214:
13215: xla_ae_lines_pkg.set_ccid(
13216: p_code_combination_id => l_ccid
13217: , p_value_type_code => l_adr_value_type_code
13218: , p_transaction_coa_id => l_adr_transaction_coa_id
13219: , p_accounting_coa_id => l_adr_accounting_coa_id
13250: );
13251:
13252: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13253:
13254: xla_ae_lines_pkg.set_segment(
13255: p_to_segment_code => 'GL_ACCOUNT'
13256: , p_segment_value => l_segment
13257: , p_from_segment_code => l_adr_value_segment_code
13258: , p_from_combination_id => l_adr_value_combination_id
13281:
13282: --
13283: -- Update the line information that should be overwritten
13284: --
13285: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13286: p_header_num => 1);
13287: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13288:
13289: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13283: -- Update the line information that should be overwritten
13284: --
13285: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13286: p_header_num => 1);
13287: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13288:
13289: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13290:
13291: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13285: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13286: p_header_num => 1);
13287: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13288:
13289: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13290:
13291: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13292: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13293: END IF;
13288:
13289: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13290:
13291: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13292: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13293: END IF;
13294:
13295: --
13296: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13295: --
13296: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13297: --
13298: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13299: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13300: ELSE
13301: ---------------------------------------------------------------------------------------------------
13302: -- 4262811a Switch Sign
13303: ---------------------------------------------------------------------------------------------------
13300: ELSE
13301: ---------------------------------------------------------------------------------------------------
13302: -- 4262811a Switch Sign
13303: ---------------------------------------------------------------------------------------------------
13304: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13305: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13301: ---------------------------------------------------------------------------------------------------
13302: -- 4262811a Switch Sign
13303: ---------------------------------------------------------------------------------------------------
13304: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13305: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13302: -- 4262811a Switch Sign
13303: ---------------------------------------------------------------------------------------------------
13304: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13305: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13310: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13303: ---------------------------------------------------------------------------------------------------
13304: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13305: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13310: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13311: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13304: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13305: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13310: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13311: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13312:
13306: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13310: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13311: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13312:
13313: END IF;
13314:
13307: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13308: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13309: -- 5132302
13310: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13311: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13312:
13313: END IF;
13314:
13315: -- 4955764
13312:
13313: END IF;
13314:
13315: -- 4955764
13316: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13317: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13318:
13319:
13320: XLA_AE_LINES_PKG.ValidateCurrentLine;
13316: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13317: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13318:
13319:
13320: XLA_AE_LINES_PKG.ValidateCurrentLine;
13321: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13322:
13323: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13324: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13317: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13318:
13319:
13320: XLA_AE_LINES_PKG.ValidateCurrentLine;
13321: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13322:
13323: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13324: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13325: ,p_balance_type_code => l_balance_type_code);
13530: --
13531: -- bulk performance
13532: --
13533: l_balance_type_code VARCHAR2(1);
13534: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13535: l_log_module VARCHAR2(240);
13536:
13537: --
13538: -- Upgrade strategy
13619: ') <> 'Y'
13620: THEN
13621:
13622: --
13623: XLA_AE_LINES_PKG.SetNewLine;
13624:
13625: p_balance_type_code := l_balance_type_code;
13626: -- set the flag so later we will know whether the gain loss line needs to be created
13627:
13631:
13632: --
13633: -- bulk performance
13634: --
13635: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13636: p_header_num => 0); -- 4262811
13637: --
13638: -- set accounting line options
13639: --
13636: p_header_num => 0); -- 4262811
13637: --
13638: -- set accounting line options
13639: --
13640: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13641: p_natural_side_code => 'D'
13642: , p_gain_or_loss_flag => 'N'
13643: , p_gl_transfer_mode_code => 'S'
13644: , p_acct_entry_type_code => 'A'
13650: --
13651: --
13652: -- set accounting line type info
13653: --
13654: xla_ae_lines_pkg.SetAcctLineType
13655: (p_component_type => l_component_type
13656: ,p_event_type_code => l_event_type_code
13657: ,p_line_definition_owner_code => l_line_definition_owner_code
13658: ,p_line_definition_code => l_line_definition_code
13664: ,p_event_class_code => l_event_class_code);
13665: --
13666: -- set accounting class
13667: --
13668: xla_ae_lines_pkg.SetAcctClass(
13669: p_accounting_class_code => 'ACCOUNTSPAYABLE'
13670: , p_ae_header_id => l_ae_header_id
13671: );
13672:
13672:
13673: --
13674: -- set rounding class
13675: --
13676: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13677: 'ACCOUNTSPAYABLE';
13678:
13679: --
13680: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13676: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13677: 'ACCOUNTSPAYABLE';
13678:
13679: --
13680: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13681: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13682: --
13683: -- bulk performance
13684: --
13677: 'ACCOUNTSPAYABLE';
13678:
13679: --
13680: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13681: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13682: --
13683: -- bulk performance
13684: --
13685: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13681: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13682: --
13683: -- bulk performance
13684: --
13685: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13686:
13687: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13688: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13689:
13683: -- bulk performance
13684: --
13685: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13686:
13687: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13688: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13689:
13690: -- 4955764
13691: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13687: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13688: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13689:
13690: -- 4955764
13691: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13692: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13693:
13694: -- 4458381 Public Sector Enh
13695:
13797: l_rec_acct_attrs.array_num_value(43) := p_source_51;
13798: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
13799: l_rec_acct_attrs.array_num_value(44) := p_source_52;
13800:
13801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13803:
13804: ---------------------------------------------------------------------------------------------------------------
13805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13798: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
13799: l_rec_acct_attrs.array_num_value(44) := p_source_52;
13800:
13801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13803:
13804: ---------------------------------------------------------------------------------------------------------------
13805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13806: ---------------------------------------------------------------------------------------------------------------
13801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13803:
13804: ---------------------------------------------------------------------------------------------------------------
13805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13806: ---------------------------------------------------------------------------------------------------------------
13807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13808:
13809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13803:
13804: ---------------------------------------------------------------------------------------------------------------
13805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13806: ---------------------------------------------------------------------------------------------------------------
13807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13808:
13809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13811:
13805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13806: ---------------------------------------------------------------------------------------------------------------
13807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13808:
13809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13811:
13812: IF xla_accounting_cache_pkg.GetValueChar
13813: (p_source_code => 'LEDGER_CATEGORY_CODE'
13806: ---------------------------------------------------------------------------------------------------------------
13807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13808:
13809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13811:
13812: IF xla_accounting_cache_pkg.GetValueChar
13813: (p_source_code => 'LEDGER_CATEGORY_CODE'
13814: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13817: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13818: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13819: )
13820: THEN
13821: xla_ae_lines_pkg.BflowUpgEntry
13822: (p_business_method_code => l_bflow_method_code
13823: ,p_business_class_code => l_bflow_class_code
13824: ,p_balance_type => l_balance_type_code);
13825: ELSE
13834: --
13835: -- call description
13836: --
13837:
13838: xla_ae_lines_pkg.SetLineDescription(
13839: p_ae_header_id => l_ae_header_id
13840: ,p_description => Description_2 (
13841: p_application_id => p_application_id
13842: , p_ae_header_id => l_ae_header_id
13867: , x_value_type_code => l_adr_value_type_code
13868: , p_side => 'NA'
13869: );
13870:
13871: xla_ae_lines_pkg.set_ccid(
13872: p_code_combination_id => l_ccid
13873: , p_value_type_code => l_adr_value_type_code
13874: , p_transaction_coa_id => l_adr_transaction_coa_id
13875: , p_accounting_coa_id => l_adr_accounting_coa_id
13902: );
13903:
13904: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13905:
13906: xla_ae_lines_pkg.set_segment(
13907: p_to_segment_code => 'GL_ACCOUNT'
13908: , p_segment_value => l_segment
13909: , p_from_segment_code => l_adr_value_segment_code
13910: , p_from_combination_id => l_adr_value_combination_id
13946: xla_accounting_err_pkg.build_message
13947: (p_appli_s_name => 'XLA'
13948: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13949: ,p_token_1 => 'LINE_NUMBER'
13950: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13951: ,p_token_2 => 'LINE_TYPE_NAME'
13952: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13953: l_component_type
13954: ,l_component_code
13982: --
13983: --
13984: ------------------------------------------------------------------------------------------------
13985: -- 4219869 Business Flow
13986: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13987: -- Prior Entry. Currently, the following code is always generated.
13988: ------------------------------------------------------------------------------------------------
13989: XLA_AE_LINES_PKG.ValidateCurrentLine;
13990:
13985: -- 4219869 Business Flow
13986: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13987: -- Prior Entry. Currently, the following code is always generated.
13988: ------------------------------------------------------------------------------------------------
13989: XLA_AE_LINES_PKG.ValidateCurrentLine;
13990:
13991: ------------------------------------------------------------------------------------
13992: -- 4219869 Business Flow
13993: -- Populated credit and debit amounts -- Need to generate this within IF
13991: ------------------------------------------------------------------------------------
13992: -- 4219869 Business Flow
13993: -- Populated credit and debit amounts -- Need to generate this within IF
13994: ------------------------------------------------------------------------------------
13995: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13996:
13997: ----------------------------------------------------------------------------------
13998: -- 4219869 Business Flow
13999: -- Update journal entry status -- Need to generate this within IF
14023: -- To allow MPA report to determine if it should generate report process
14024: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14025: ------------------------------------------------------------------------------------------
14026:
14027: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14028: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14029: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14030: -- call ADRs
14031: -- Bug 4922099
14024: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14025: ------------------------------------------------------------------------------------------
14026:
14027: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14028: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14029: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14030: -- call ADRs
14031: -- Bug 4922099
14032: --
14048: , x_value_type_code => l_adr_value_type_code
14049: , p_side => 'NA'
14050: );
14051:
14052: xla_ae_lines_pkg.set_ccid(
14053: p_code_combination_id => l_ccid
14054: , p_value_type_code => l_adr_value_type_code
14055: , p_transaction_coa_id => l_adr_transaction_coa_id
14056: , p_accounting_coa_id => l_adr_accounting_coa_id
14083: );
14084:
14085: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14086:
14087: xla_ae_lines_pkg.set_segment(
14088: p_to_segment_code => 'GL_ACCOUNT'
14089: , p_segment_value => l_segment
14090: , p_from_segment_code => l_adr_value_segment_code
14091: , p_from_combination_id => l_adr_value_combination_id
14114:
14115: --
14116: -- Update the line information that should be overwritten
14117: --
14118: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14119: p_header_num => 1);
14120: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14121:
14122: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14116: -- Update the line information that should be overwritten
14117: --
14118: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14119: p_header_num => 1);
14120: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14121:
14122: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14123:
14124: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14118: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14119: p_header_num => 1);
14120: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14121:
14122: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14123:
14124: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14125: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14126: END IF;
14121:
14122: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14123:
14124: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14125: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14126: END IF;
14127:
14128: --
14129: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14128: --
14129: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14130: --
14131: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14132: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14133: ELSE
14134: ---------------------------------------------------------------------------------------------------
14135: -- 4262811a Switch Sign
14136: ---------------------------------------------------------------------------------------------------
14133: ELSE
14134: ---------------------------------------------------------------------------------------------------
14135: -- 4262811a Switch Sign
14136: ---------------------------------------------------------------------------------------------------
14137: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14134: ---------------------------------------------------------------------------------------------------
14135: -- 4262811a Switch Sign
14136: ---------------------------------------------------------------------------------------------------
14137: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14135: -- 4262811a Switch Sign
14136: ---------------------------------------------------------------------------------------------------
14137: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14136: ---------------------------------------------------------------------------------------------------
14137: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14144: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14137: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14138: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14144: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14145:
14139: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14144: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14145:
14146: END IF;
14147:
14140: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14141: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14142: -- 5132302
14143: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14144: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14145:
14146: END IF;
14147:
14148: -- 4955764
14145:
14146: END IF;
14147:
14148: -- 4955764
14149: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14150: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14151:
14152:
14153: XLA_AE_LINES_PKG.ValidateCurrentLine;
14149: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14150: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14151:
14152:
14153: XLA_AE_LINES_PKG.ValidateCurrentLine;
14154: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14155:
14156: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14157: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14150: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14151:
14152:
14153: XLA_AE_LINES_PKG.ValidateCurrentLine;
14154: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14155:
14156: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14157: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14158: ,p_balance_type_code => l_balance_type_code);
14350: --
14351: -- bulk performance
14352: --
14353: l_balance_type_code VARCHAR2(1);
14354: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14355: l_log_module VARCHAR2(240);
14356:
14357: --
14358: -- Upgrade strategy
14436: ') = 'Partial')
14437: THEN
14438:
14439: --
14440: XLA_AE_LINES_PKG.SetNewLine;
14441:
14442: p_balance_type_code := l_balance_type_code;
14443: -- set the flag so later we will know whether the gain loss line needs to be created
14444:
14448:
14449: --
14450: -- bulk performance
14451: --
14452: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14453: p_header_num => 0); -- 4262811
14454: --
14455: -- set accounting line options
14456: --
14453: p_header_num => 0); -- 4262811
14454: --
14455: -- set accounting line options
14456: --
14457: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14458: p_natural_side_code => 'D'
14459: , p_gain_or_loss_flag => 'N'
14460: , p_gl_transfer_mode_code => 'S'
14461: , p_acct_entry_type_code => 'A'
14467: --
14468: --
14469: -- set accounting line type info
14470: --
14471: xla_ae_lines_pkg.SetAcctLineType
14472: (p_component_type => l_component_type
14473: ,p_event_type_code => l_event_type_code
14474: ,p_line_definition_owner_code => l_line_definition_owner_code
14475: ,p_line_definition_code => l_line_definition_code
14481: ,p_event_class_code => l_event_class_code);
14482: --
14483: -- set accounting class
14484: --
14485: xla_ae_lines_pkg.SetAcctClass(
14486: p_accounting_class_code => 'ACCOUNTSPAYABLE'
14487: , p_ae_header_id => l_ae_header_id
14488: );
14489:
14489:
14490: --
14491: -- set rounding class
14492: --
14493: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14494: 'ACCOUNTSPAYABLE';
14495:
14496: --
14497: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14493: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14494: 'ACCOUNTSPAYABLE';
14495:
14496: --
14497: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14498: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14499: --
14500: -- bulk performance
14501: --
14494: 'ACCOUNTSPAYABLE';
14495:
14496: --
14497: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14498: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14499: --
14500: -- bulk performance
14501: --
14502: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14498: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14499: --
14500: -- bulk performance
14501: --
14502: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14503:
14504: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14505: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14506:
14500: -- bulk performance
14501: --
14502: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14503:
14504: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14505: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14506:
14507: -- 4955764
14508: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14504: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14505: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14506:
14507: -- 4955764
14508: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14509: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14510:
14511: -- 4458381 Public Sector Enh
14512:
14610: l_rec_acct_attrs.array_num_value(41) := p_source_51;
14611: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
14612: l_rec_acct_attrs.array_num_value(42) := p_source_52;
14613:
14614: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14615: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14616:
14617: ---------------------------------------------------------------------------------------------------------------
14618: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14611: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
14612: l_rec_acct_attrs.array_num_value(42) := p_source_52;
14613:
14614: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14615: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14616:
14617: ---------------------------------------------------------------------------------------------------------------
14618: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14619: ---------------------------------------------------------------------------------------------------------------
14614: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14615: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14616:
14617: ---------------------------------------------------------------------------------------------------------------
14618: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14619: ---------------------------------------------------------------------------------------------------------------
14620: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14621:
14622: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14616:
14617: ---------------------------------------------------------------------------------------------------------------
14618: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14619: ---------------------------------------------------------------------------------------------------------------
14620: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14621:
14622: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14623: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14624:
14618: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14619: ---------------------------------------------------------------------------------------------------------------
14620: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14621:
14622: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14623: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14624:
14625: IF xla_accounting_cache_pkg.GetValueChar
14626: (p_source_code => 'LEDGER_CATEGORY_CODE'
14619: ---------------------------------------------------------------------------------------------------------------
14620: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14621:
14622: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14623: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14624:
14625: IF xla_accounting_cache_pkg.GetValueChar
14626: (p_source_code => 'LEDGER_CATEGORY_CODE'
14627: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14630: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14631: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14632: )
14633: THEN
14634: xla_ae_lines_pkg.BflowUpgEntry
14635: (p_business_method_code => l_bflow_method_code
14636: ,p_business_class_code => l_bflow_class_code
14637: ,p_balance_type => l_balance_type_code);
14638: ELSE
14647: --
14648: -- call description
14649: --
14650:
14651: xla_ae_lines_pkg.SetLineDescription(
14652: p_ae_header_id => l_ae_header_id
14653: ,p_description => Description_2 (
14654: p_application_id => p_application_id
14655: , p_ae_header_id => l_ae_header_id
14680: , x_value_type_code => l_adr_value_type_code
14681: , p_side => 'NA'
14682: );
14683:
14684: xla_ae_lines_pkg.set_ccid(
14685: p_code_combination_id => l_ccid
14686: , p_value_type_code => l_adr_value_type_code
14687: , p_transaction_coa_id => l_adr_transaction_coa_id
14688: , p_accounting_coa_id => l_adr_accounting_coa_id
14713: );
14714:
14715: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14716:
14717: xla_ae_lines_pkg.set_segment(
14718: p_to_segment_code => 'GL_ACCOUNT'
14719: , p_segment_value => l_segment
14720: , p_from_segment_code => l_adr_value_segment_code
14721: , p_from_combination_id => l_adr_value_combination_id
14757: xla_accounting_err_pkg.build_message
14758: (p_appli_s_name => 'XLA'
14759: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14760: ,p_token_1 => 'LINE_NUMBER'
14761: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14762: ,p_token_2 => 'LINE_TYPE_NAME'
14763: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14764: l_component_type
14765: ,l_component_code
14793: --
14794: --
14795: ------------------------------------------------------------------------------------------------
14796: -- 4219869 Business Flow
14797: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14798: -- Prior Entry. Currently, the following code is always generated.
14799: ------------------------------------------------------------------------------------------------
14800: XLA_AE_LINES_PKG.ValidateCurrentLine;
14801:
14796: -- 4219869 Business Flow
14797: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14798: -- Prior Entry. Currently, the following code is always generated.
14799: ------------------------------------------------------------------------------------------------
14800: XLA_AE_LINES_PKG.ValidateCurrentLine;
14801:
14802: ------------------------------------------------------------------------------------
14803: -- 4219869 Business Flow
14804: -- Populated credit and debit amounts -- Need to generate this within IF
14802: ------------------------------------------------------------------------------------
14803: -- 4219869 Business Flow
14804: -- Populated credit and debit amounts -- Need to generate this within IF
14805: ------------------------------------------------------------------------------------
14806: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14807:
14808: ----------------------------------------------------------------------------------
14809: -- 4219869 Business Flow
14810: -- Update journal entry status -- Need to generate this within IF
14834: -- To allow MPA report to determine if it should generate report process
14835: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14836: ------------------------------------------------------------------------------------------
14837:
14838: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14839: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14840: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14841: -- call ADRs
14842: -- Bug 4922099
14835: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14836: ------------------------------------------------------------------------------------------
14837:
14838: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14839: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14840: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14841: -- call ADRs
14842: -- Bug 4922099
14843: --
14859: , x_value_type_code => l_adr_value_type_code
14860: , p_side => 'NA'
14861: );
14862:
14863: xla_ae_lines_pkg.set_ccid(
14864: p_code_combination_id => l_ccid
14865: , p_value_type_code => l_adr_value_type_code
14866: , p_transaction_coa_id => l_adr_transaction_coa_id
14867: , p_accounting_coa_id => l_adr_accounting_coa_id
14892: );
14893:
14894: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14895:
14896: xla_ae_lines_pkg.set_segment(
14897: p_to_segment_code => 'GL_ACCOUNT'
14898: , p_segment_value => l_segment
14899: , p_from_segment_code => l_adr_value_segment_code
14900: , p_from_combination_id => l_adr_value_combination_id
14923:
14924: --
14925: -- Update the line information that should be overwritten
14926: --
14927: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14928: p_header_num => 1);
14929: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14930:
14931: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14925: -- Update the line information that should be overwritten
14926: --
14927: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14928: p_header_num => 1);
14929: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14930:
14931: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14932:
14933: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14927: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14928: p_header_num => 1);
14929: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14930:
14931: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14932:
14933: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14934: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14935: END IF;
14930:
14931: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14932:
14933: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14934: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14935: END IF;
14936:
14937: --
14938: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14937: --
14938: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14939: --
14940: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14941: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14942: ELSE
14943: ---------------------------------------------------------------------------------------------------
14944: -- 4262811a Switch Sign
14945: ---------------------------------------------------------------------------------------------------
14942: ELSE
14943: ---------------------------------------------------------------------------------------------------
14944: -- 4262811a Switch Sign
14945: ---------------------------------------------------------------------------------------------------
14946: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14947: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14943: ---------------------------------------------------------------------------------------------------
14944: -- 4262811a Switch Sign
14945: ---------------------------------------------------------------------------------------------------
14946: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14947: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14944: -- 4262811a Switch Sign
14945: ---------------------------------------------------------------------------------------------------
14946: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14947: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14952: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14945: ---------------------------------------------------------------------------------------------------
14946: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14947: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14952: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14953: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14946: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14947: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14952: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14953: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14954:
14948: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14952: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14953: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14954:
14955: END IF;
14956:
14949: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14950: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14951: -- 5132302
14952: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14953: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14954:
14955: END IF;
14956:
14957: -- 4955764
14954:
14955: END IF;
14956:
14957: -- 4955764
14958: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14959: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14960:
14961:
14962: XLA_AE_LINES_PKG.ValidateCurrentLine;
14958: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14959: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14960:
14961:
14962: XLA_AE_LINES_PKG.ValidateCurrentLine;
14963: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14964:
14965: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14966: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14959: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14960:
14961:
14962: XLA_AE_LINES_PKG.ValidateCurrentLine;
14963: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14964:
14965: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14966: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14967: ,p_balance_type_code => l_balance_type_code);
15159: --
15160: -- bulk performance
15161: --
15162: l_balance_type_code VARCHAR2(1);
15163: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15164: l_log_module VARCHAR2(240);
15165:
15166: --
15167: -- Upgrade strategy
15241: ') = 'Downward'
15242: THEN
15243:
15244: --
15245: XLA_AE_LINES_PKG.SetNewLine;
15246:
15247: p_balance_type_code := l_balance_type_code;
15248: -- set the flag so later we will know whether the gain loss line needs to be created
15249:
15253:
15254: --
15255: -- bulk performance
15256: --
15257: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15258: p_header_num => 0); -- 4262811
15259: --
15260: -- set accounting line options
15261: --
15258: p_header_num => 0); -- 4262811
15259: --
15260: -- set accounting line options
15261: --
15262: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15263: p_natural_side_code => 'C'
15264: , p_gain_or_loss_flag => 'N'
15265: , p_gl_transfer_mode_code => 'S'
15266: , p_acct_entry_type_code => 'A'
15272: --
15273: --
15274: -- set accounting line type info
15275: --
15276: xla_ae_lines_pkg.SetAcctLineType
15277: (p_component_type => l_component_type
15278: ,p_event_type_code => l_event_type_code
15279: ,p_line_definition_owner_code => l_line_definition_owner_code
15280: ,p_line_definition_code => l_line_definition_code
15286: ,p_event_class_code => l_event_class_code);
15287: --
15288: -- set accounting class
15289: --
15290: xla_ae_lines_pkg.SetAcctClass(
15291: p_accounting_class_code => 'ACCOUNTSPAYABLE'
15292: , p_ae_header_id => l_ae_header_id
15293: );
15294:
15294:
15295: --
15296: -- set rounding class
15297: --
15298: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15299: 'ACCOUNTSPAYABLE';
15300:
15301: --
15302: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15298: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15299: 'ACCOUNTSPAYABLE';
15300:
15301: --
15302: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15303: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15304: --
15305: -- bulk performance
15306: --
15299: 'ACCOUNTSPAYABLE';
15300:
15301: --
15302: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15303: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15304: --
15305: -- bulk performance
15306: --
15307: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15303: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15304: --
15305: -- bulk performance
15306: --
15307: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15308:
15309: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15310: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15311:
15305: -- bulk performance
15306: --
15307: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15308:
15309: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15310: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15311:
15312: -- 4955764
15313: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15309: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15310: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15311:
15312: -- 4955764
15313: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15314: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15315:
15316: -- 4458381 Public Sector Enh
15317:
15415: l_rec_acct_attrs.array_num_value(41) := p_source_51;
15416: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
15417: l_rec_acct_attrs.array_num_value(42) := p_source_52;
15418:
15419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15421:
15422: ---------------------------------------------------------------------------------------------------------------
15423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15416: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
15417: l_rec_acct_attrs.array_num_value(42) := p_source_52;
15418:
15419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15421:
15422: ---------------------------------------------------------------------------------------------------------------
15423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15424: ---------------------------------------------------------------------------------------------------------------
15419: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15420: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15421:
15422: ---------------------------------------------------------------------------------------------------------------
15423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15424: ---------------------------------------------------------------------------------------------------------------
15425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15426:
15427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15421:
15422: ---------------------------------------------------------------------------------------------------------------
15423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15424: ---------------------------------------------------------------------------------------------------------------
15425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15426:
15427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15429:
15423: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15424: ---------------------------------------------------------------------------------------------------------------
15425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15426:
15427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15429:
15430: IF xla_accounting_cache_pkg.GetValueChar
15431: (p_source_code => 'LEDGER_CATEGORY_CODE'
15424: ---------------------------------------------------------------------------------------------------------------
15425: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15426:
15427: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15428: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15429:
15430: IF xla_accounting_cache_pkg.GetValueChar
15431: (p_source_code => 'LEDGER_CATEGORY_CODE'
15432: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15435: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15436: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15437: )
15438: THEN
15439: xla_ae_lines_pkg.BflowUpgEntry
15440: (p_business_method_code => l_bflow_method_code
15441: ,p_business_class_code => l_bflow_class_code
15442: ,p_balance_type => l_balance_type_code);
15443: ELSE
15452: --
15453: -- call description
15454: --
15455:
15456: xla_ae_lines_pkg.SetLineDescription(
15457: p_ae_header_id => l_ae_header_id
15458: ,p_description => Description_2 (
15459: p_application_id => p_application_id
15460: , p_ae_header_id => l_ae_header_id
15485: , x_value_type_code => l_adr_value_type_code
15486: , p_side => 'NA'
15487: );
15488:
15489: xla_ae_lines_pkg.set_ccid(
15490: p_code_combination_id => l_ccid
15491: , p_value_type_code => l_adr_value_type_code
15492: , p_transaction_coa_id => l_adr_transaction_coa_id
15493: , p_accounting_coa_id => l_adr_accounting_coa_id
15517: );
15518:
15519: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15520:
15521: xla_ae_lines_pkg.set_segment(
15522: p_to_segment_code => 'GL_ACCOUNT'
15523: , p_segment_value => l_segment
15524: , p_from_segment_code => l_adr_value_segment_code
15525: , p_from_combination_id => l_adr_value_combination_id
15561: xla_accounting_err_pkg.build_message
15562: (p_appli_s_name => 'XLA'
15563: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15564: ,p_token_1 => 'LINE_NUMBER'
15565: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15566: ,p_token_2 => 'LINE_TYPE_NAME'
15567: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15568: l_component_type
15569: ,l_component_code
15597: --
15598: --
15599: ------------------------------------------------------------------------------------------------
15600: -- 4219869 Business Flow
15601: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15602: -- Prior Entry. Currently, the following code is always generated.
15603: ------------------------------------------------------------------------------------------------
15604: XLA_AE_LINES_PKG.ValidateCurrentLine;
15605:
15600: -- 4219869 Business Flow
15601: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15602: -- Prior Entry. Currently, the following code is always generated.
15603: ------------------------------------------------------------------------------------------------
15604: XLA_AE_LINES_PKG.ValidateCurrentLine;
15605:
15606: ------------------------------------------------------------------------------------
15607: -- 4219869 Business Flow
15608: -- Populated credit and debit amounts -- Need to generate this within IF
15606: ------------------------------------------------------------------------------------
15607: -- 4219869 Business Flow
15608: -- Populated credit and debit amounts -- Need to generate this within IF
15609: ------------------------------------------------------------------------------------
15610: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15611:
15612: ----------------------------------------------------------------------------------
15613: -- 4219869 Business Flow
15614: -- Update journal entry status -- Need to generate this within IF
15638: -- To allow MPA report to determine if it should generate report process
15639: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15640: ------------------------------------------------------------------------------------------
15641:
15642: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15643: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15644: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15645: -- call ADRs
15646: -- Bug 4922099
15639: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15640: ------------------------------------------------------------------------------------------
15641:
15642: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15643: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15644: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15645: -- call ADRs
15646: -- Bug 4922099
15647: --
15663: , x_value_type_code => l_adr_value_type_code
15664: , p_side => 'NA'
15665: );
15666:
15667: xla_ae_lines_pkg.set_ccid(
15668: p_code_combination_id => l_ccid
15669: , p_value_type_code => l_adr_value_type_code
15670: , p_transaction_coa_id => l_adr_transaction_coa_id
15671: , p_accounting_coa_id => l_adr_accounting_coa_id
15695: );
15696:
15697: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15698:
15699: xla_ae_lines_pkg.set_segment(
15700: p_to_segment_code => 'GL_ACCOUNT'
15701: , p_segment_value => l_segment
15702: , p_from_segment_code => l_adr_value_segment_code
15703: , p_from_combination_id => l_adr_value_combination_id
15726:
15727: --
15728: -- Update the line information that should be overwritten
15729: --
15730: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15731: p_header_num => 1);
15732: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15733:
15734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15728: -- Update the line information that should be overwritten
15729: --
15730: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15731: p_header_num => 1);
15732: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15733:
15734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15735:
15736: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15730: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15731: p_header_num => 1);
15732: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15733:
15734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15735:
15736: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15737: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15738: END IF;
15733:
15734: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15735:
15736: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15737: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15738: END IF;
15739:
15740: --
15741: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15740: --
15741: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15742: --
15743: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15744: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15745: ELSE
15746: ---------------------------------------------------------------------------------------------------
15747: -- 4262811a Switch Sign
15748: ---------------------------------------------------------------------------------------------------
15745: ELSE
15746: ---------------------------------------------------------------------------------------------------
15747: -- 4262811a Switch Sign
15748: ---------------------------------------------------------------------------------------------------
15749: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15750: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15746: ---------------------------------------------------------------------------------------------------
15747: -- 4262811a Switch Sign
15748: ---------------------------------------------------------------------------------------------------
15749: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15750: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15747: -- 4262811a Switch Sign
15748: ---------------------------------------------------------------------------------------------------
15749: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15750: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15755: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15748: ---------------------------------------------------------------------------------------------------
15749: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15750: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15755: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15756: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15749: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15750: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15755: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15756: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15757:
15751: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15755: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15756: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15757:
15758: END IF;
15759:
15752: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15753: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15754: -- 5132302
15755: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15756: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15757:
15758: END IF;
15759:
15760: -- 4955764
15757:
15758: END IF;
15759:
15760: -- 4955764
15761: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15762: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15763:
15764:
15765: XLA_AE_LINES_PKG.ValidateCurrentLine;
15761: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15762: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15763:
15764:
15765: XLA_AE_LINES_PKG.ValidateCurrentLine;
15766: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15767:
15768: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15769: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15762: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15763:
15764:
15765: XLA_AE_LINES_PKG.ValidateCurrentLine;
15766: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15767:
15768: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15769: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15770: ,p_balance_type_code => l_balance_type_code);
15962: --
15963: -- bulk performance
15964: --
15965: l_balance_type_code VARCHAR2(1);
15966: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15967: l_log_module VARCHAR2(240);
15968:
15969: --
15970: -- Upgrade strategy
16048: ') = 'Partial')
16049: THEN
16050:
16051: --
16052: XLA_AE_LINES_PKG.SetNewLine;
16053:
16054: p_balance_type_code := l_balance_type_code;
16055: -- set the flag so later we will know whether the gain loss line needs to be created
16056:
16060:
16061: --
16062: -- bulk performance
16063: --
16064: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16065: p_header_num => 0); -- 4262811
16066: --
16067: -- set accounting line options
16068: --
16065: p_header_num => 0); -- 4262811
16066: --
16067: -- set accounting line options
16068: --
16069: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16070: p_natural_side_code => 'D'
16071: , p_gain_or_loss_flag => 'N'
16072: , p_gl_transfer_mode_code => 'S'
16073: , p_acct_entry_type_code => 'A'
16079: --
16080: --
16081: -- set accounting line type info
16082: --
16083: xla_ae_lines_pkg.SetAcctLineType
16084: (p_component_type => l_component_type
16085: ,p_event_type_code => l_event_type_code
16086: ,p_line_definition_owner_code => l_line_definition_owner_code
16087: ,p_line_definition_code => l_line_definition_code
16093: ,p_event_class_code => l_event_class_code);
16094: --
16095: -- set accounting class
16096: --
16097: xla_ae_lines_pkg.SetAcctClass(
16098: p_accounting_class_code => 'ACCOUNTSPAYABLE'
16099: , p_ae_header_id => l_ae_header_id
16100: );
16101:
16101:
16102: --
16103: -- set rounding class
16104: --
16105: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16106: 'ACCOUNTSPAYABLE';
16107:
16108: --
16109: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16105: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16106: 'ACCOUNTSPAYABLE';
16107:
16108: --
16109: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16110: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16111: --
16112: -- bulk performance
16113: --
16106: 'ACCOUNTSPAYABLE';
16107:
16108: --
16109: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16110: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16111: --
16112: -- bulk performance
16113: --
16114: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16110: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16111: --
16112: -- bulk performance
16113: --
16114: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16115:
16116: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16117: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16118:
16112: -- bulk performance
16113: --
16114: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16115:
16116: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16117: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16118:
16119: -- 4955764
16120: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16116: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16117: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16118:
16119: -- 4955764
16120: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16121: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16122:
16123: -- 4458381 Public Sector Enh
16124:
16222: l_rec_acct_attrs.array_num_value(41) := p_source_51;
16223: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
16224: l_rec_acct_attrs.array_num_value(42) := p_source_52;
16225:
16226: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16227: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16228:
16229: ---------------------------------------------------------------------------------------------------------------
16230: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16223: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
16224: l_rec_acct_attrs.array_num_value(42) := p_source_52;
16225:
16226: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16227: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16228:
16229: ---------------------------------------------------------------------------------------------------------------
16230: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16231: ---------------------------------------------------------------------------------------------------------------
16226: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16227: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16228:
16229: ---------------------------------------------------------------------------------------------------------------
16230: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16231: ---------------------------------------------------------------------------------------------------------------
16232: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16233:
16234: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16228:
16229: ---------------------------------------------------------------------------------------------------------------
16230: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16231: ---------------------------------------------------------------------------------------------------------------
16232: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16233:
16234: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16235: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16236:
16230: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16231: ---------------------------------------------------------------------------------------------------------------
16232: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16233:
16234: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16235: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16236:
16237: IF xla_accounting_cache_pkg.GetValueChar
16238: (p_source_code => 'LEDGER_CATEGORY_CODE'
16231: ---------------------------------------------------------------------------------------------------------------
16232: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16233:
16234: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16235: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16236:
16237: IF xla_accounting_cache_pkg.GetValueChar
16238: (p_source_code => 'LEDGER_CATEGORY_CODE'
16239: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16242: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16243: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16244: )
16245: THEN
16246: xla_ae_lines_pkg.BflowUpgEntry
16247: (p_business_method_code => l_bflow_method_code
16248: ,p_business_class_code => l_bflow_class_code
16249: ,p_balance_type => l_balance_type_code);
16250: ELSE
16259: --
16260: -- call description
16261: --
16262:
16263: xla_ae_lines_pkg.SetLineDescription(
16264: p_ae_header_id => l_ae_header_id
16265: ,p_description => Description_2 (
16266: p_application_id => p_application_id
16267: , p_ae_header_id => l_ae_header_id
16292: , x_value_type_code => l_adr_value_type_code
16293: , p_side => 'NA'
16294: );
16295:
16296: xla_ae_lines_pkg.set_ccid(
16297: p_code_combination_id => l_ccid
16298: , p_value_type_code => l_adr_value_type_code
16299: , p_transaction_coa_id => l_adr_transaction_coa_id
16300: , p_accounting_coa_id => l_adr_accounting_coa_id
16325: );
16326:
16327: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16328:
16329: xla_ae_lines_pkg.set_segment(
16330: p_to_segment_code => 'GL_ACCOUNT'
16331: , p_segment_value => l_segment
16332: , p_from_segment_code => l_adr_value_segment_code
16333: , p_from_combination_id => l_adr_value_combination_id
16369: xla_accounting_err_pkg.build_message
16370: (p_appli_s_name => 'XLA'
16371: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16372: ,p_token_1 => 'LINE_NUMBER'
16373: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16374: ,p_token_2 => 'LINE_TYPE_NAME'
16375: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16376: l_component_type
16377: ,l_component_code
16405: --
16406: --
16407: ------------------------------------------------------------------------------------------------
16408: -- 4219869 Business Flow
16409: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16410: -- Prior Entry. Currently, the following code is always generated.
16411: ------------------------------------------------------------------------------------------------
16412: XLA_AE_LINES_PKG.ValidateCurrentLine;
16413:
16408: -- 4219869 Business Flow
16409: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16410: -- Prior Entry. Currently, the following code is always generated.
16411: ------------------------------------------------------------------------------------------------
16412: XLA_AE_LINES_PKG.ValidateCurrentLine;
16413:
16414: ------------------------------------------------------------------------------------
16415: -- 4219869 Business Flow
16416: -- Populated credit and debit amounts -- Need to generate this within IF
16414: ------------------------------------------------------------------------------------
16415: -- 4219869 Business Flow
16416: -- Populated credit and debit amounts -- Need to generate this within IF
16417: ------------------------------------------------------------------------------------
16418: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16419:
16420: ----------------------------------------------------------------------------------
16421: -- 4219869 Business Flow
16422: -- Update journal entry status -- Need to generate this within IF
16446: -- To allow MPA report to determine if it should generate report process
16447: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16448: ------------------------------------------------------------------------------------------
16449:
16450: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16451: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16452: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16453: -- call ADRs
16454: -- Bug 4922099
16447: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16448: ------------------------------------------------------------------------------------------
16449:
16450: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16451: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16452: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16453: -- call ADRs
16454: -- Bug 4922099
16455: --
16471: , x_value_type_code => l_adr_value_type_code
16472: , p_side => 'NA'
16473: );
16474:
16475: xla_ae_lines_pkg.set_ccid(
16476: p_code_combination_id => l_ccid
16477: , p_value_type_code => l_adr_value_type_code
16478: , p_transaction_coa_id => l_adr_transaction_coa_id
16479: , p_accounting_coa_id => l_adr_accounting_coa_id
16504: );
16505:
16506: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16507:
16508: xla_ae_lines_pkg.set_segment(
16509: p_to_segment_code => 'GL_ACCOUNT'
16510: , p_segment_value => l_segment
16511: , p_from_segment_code => l_adr_value_segment_code
16512: , p_from_combination_id => l_adr_value_combination_id
16535:
16536: --
16537: -- Update the line information that should be overwritten
16538: --
16539: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16540: p_header_num => 1);
16541: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16542:
16543: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16537: -- Update the line information that should be overwritten
16538: --
16539: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16540: p_header_num => 1);
16541: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16542:
16543: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16544:
16545: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16539: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16540: p_header_num => 1);
16541: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16542:
16543: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16544:
16545: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16546: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16547: END IF;
16542:
16543: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16544:
16545: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16546: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16547: END IF;
16548:
16549: --
16550: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16549: --
16550: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16551: --
16552: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16553: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16554: ELSE
16555: ---------------------------------------------------------------------------------------------------
16556: -- 4262811a Switch Sign
16557: ---------------------------------------------------------------------------------------------------
16554: ELSE
16555: ---------------------------------------------------------------------------------------------------
16556: -- 4262811a Switch Sign
16557: ---------------------------------------------------------------------------------------------------
16558: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16555: ---------------------------------------------------------------------------------------------------
16556: -- 4262811a Switch Sign
16557: ---------------------------------------------------------------------------------------------------
16558: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16556: -- 4262811a Switch Sign
16557: ---------------------------------------------------------------------------------------------------
16558: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16557: ---------------------------------------------------------------------------------------------------
16558: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16558: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16559: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16566:
16560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16566:
16567: END IF;
16568:
16561: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: -- 5132302
16564: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16566:
16567: END IF;
16568:
16569: -- 4955764
16566:
16567: END IF;
16568:
16569: -- 4955764
16570: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16571: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16572:
16573:
16574: XLA_AE_LINES_PKG.ValidateCurrentLine;
16570: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16571: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16572:
16573:
16574: XLA_AE_LINES_PKG.ValidateCurrentLine;
16575: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16576:
16577: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16578: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16571: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16572:
16573:
16574: XLA_AE_LINES_PKG.ValidateCurrentLine;
16575: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16576:
16577: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16578: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16579: ,p_balance_type_code => l_balance_type_code);
16776: --
16777: -- bulk performance
16778: --
16779: l_balance_type_code VARCHAR2(1);
16780: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16781: l_log_module VARCHAR2(240);
16782:
16783: --
16784: -- Upgrade strategy
16858: ') = 'Upward'
16859: THEN
16860:
16861: --
16862: XLA_AE_LINES_PKG.SetNewLine;
16863:
16864: p_balance_type_code := l_balance_type_code;
16865: -- set the flag so later we will know whether the gain loss line needs to be created
16866:
16870:
16871: --
16872: -- bulk performance
16873: --
16874: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16875: p_header_num => 0); -- 4262811
16876: --
16877: -- set accounting line options
16878: --
16875: p_header_num => 0); -- 4262811
16876: --
16877: -- set accounting line options
16878: --
16879: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16880: p_natural_side_code => 'D'
16881: , p_gain_or_loss_flag => 'N'
16882: , p_gl_transfer_mode_code => 'S'
16883: , p_acct_entry_type_code => 'A'
16889: --
16890: --
16891: -- set accounting line type info
16892: --
16893: xla_ae_lines_pkg.SetAcctLineType
16894: (p_component_type => l_component_type
16895: ,p_event_type_code => l_event_type_code
16896: ,p_line_definition_owner_code => l_line_definition_owner_code
16897: ,p_line_definition_code => l_line_definition_code
16903: ,p_event_class_code => l_event_class_code);
16904: --
16905: -- set accounting class
16906: --
16907: xla_ae_lines_pkg.SetAcctClass(
16908: p_accounting_class_code => 'ACCOUNTSPAYABLE'
16909: , p_ae_header_id => l_ae_header_id
16910: );
16911:
16911:
16912: --
16913: -- set rounding class
16914: --
16915: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16916: 'ACCOUNTSPAYABLE';
16917:
16918: --
16919: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16915: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16916: 'ACCOUNTSPAYABLE';
16917:
16918: --
16919: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16920: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16921: --
16922: -- bulk performance
16923: --
16916: 'ACCOUNTSPAYABLE';
16917:
16918: --
16919: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16920: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16921: --
16922: -- bulk performance
16923: --
16924: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16920: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16921: --
16922: -- bulk performance
16923: --
16924: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16925:
16926: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16927: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16928:
16922: -- bulk performance
16923: --
16924: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16925:
16926: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16927: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16928:
16929: -- 4955764
16930: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16926: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16927: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16928:
16929: -- 4955764
16930: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16931: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16932:
16933: -- 4458381 Public Sector Enh
16934:
17032: l_rec_acct_attrs.array_num_value(41) := p_source_51;
17033: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
17034: l_rec_acct_attrs.array_num_value(42) := p_source_52;
17035:
17036: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17037: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17038:
17039: ---------------------------------------------------------------------------------------------------------------
17040: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17033: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
17034: l_rec_acct_attrs.array_num_value(42) := p_source_52;
17035:
17036: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17037: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17038:
17039: ---------------------------------------------------------------------------------------------------------------
17040: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17041: ---------------------------------------------------------------------------------------------------------------
17036: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17037: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17038:
17039: ---------------------------------------------------------------------------------------------------------------
17040: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17041: ---------------------------------------------------------------------------------------------------------------
17042: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17043:
17044: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17038:
17039: ---------------------------------------------------------------------------------------------------------------
17040: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17041: ---------------------------------------------------------------------------------------------------------------
17042: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17043:
17044: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17045: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17046:
17040: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17041: ---------------------------------------------------------------------------------------------------------------
17042: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17043:
17044: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17045: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17046:
17047: IF xla_accounting_cache_pkg.GetValueChar
17048: (p_source_code => 'LEDGER_CATEGORY_CODE'
17041: ---------------------------------------------------------------------------------------------------------------
17042: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17043:
17044: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17045: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17046:
17047: IF xla_accounting_cache_pkg.GetValueChar
17048: (p_source_code => 'LEDGER_CATEGORY_CODE'
17049: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17052: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17053: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17054: )
17055: THEN
17056: xla_ae_lines_pkg.BflowUpgEntry
17057: (p_business_method_code => l_bflow_method_code
17058: ,p_business_class_code => l_bflow_class_code
17059: ,p_balance_type => l_balance_type_code);
17060: ELSE
17069: --
17070: -- call description
17071: --
17072:
17073: xla_ae_lines_pkg.SetLineDescription(
17074: p_ae_header_id => l_ae_header_id
17075: ,p_description => Description_2 (
17076: p_application_id => p_application_id
17077: , p_ae_header_id => l_ae_header_id
17102: , x_value_type_code => l_adr_value_type_code
17103: , p_side => 'NA'
17104: );
17105:
17106: xla_ae_lines_pkg.set_ccid(
17107: p_code_combination_id => l_ccid
17108: , p_value_type_code => l_adr_value_type_code
17109: , p_transaction_coa_id => l_adr_transaction_coa_id
17110: , p_accounting_coa_id => l_adr_accounting_coa_id
17137: );
17138:
17139: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17140:
17141: xla_ae_lines_pkg.set_segment(
17142: p_to_segment_code => 'GL_ACCOUNT'
17143: , p_segment_value => l_segment
17144: , p_from_segment_code => l_adr_value_segment_code
17145: , p_from_combination_id => l_adr_value_combination_id
17181: xla_accounting_err_pkg.build_message
17182: (p_appli_s_name => 'XLA'
17183: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17184: ,p_token_1 => 'LINE_NUMBER'
17185: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17186: ,p_token_2 => 'LINE_TYPE_NAME'
17187: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17188: l_component_type
17189: ,l_component_code
17217: --
17218: --
17219: ------------------------------------------------------------------------------------------------
17220: -- 4219869 Business Flow
17221: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17222: -- Prior Entry. Currently, the following code is always generated.
17223: ------------------------------------------------------------------------------------------------
17224: XLA_AE_LINES_PKG.ValidateCurrentLine;
17225:
17220: -- 4219869 Business Flow
17221: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17222: -- Prior Entry. Currently, the following code is always generated.
17223: ------------------------------------------------------------------------------------------------
17224: XLA_AE_LINES_PKG.ValidateCurrentLine;
17225:
17226: ------------------------------------------------------------------------------------
17227: -- 4219869 Business Flow
17228: -- Populated credit and debit amounts -- Need to generate this within IF
17226: ------------------------------------------------------------------------------------
17227: -- 4219869 Business Flow
17228: -- Populated credit and debit amounts -- Need to generate this within IF
17229: ------------------------------------------------------------------------------------
17230: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17231:
17232: ----------------------------------------------------------------------------------
17233: -- 4219869 Business Flow
17234: -- Update journal entry status -- Need to generate this within IF
17258: -- To allow MPA report to determine if it should generate report process
17259: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17260: ------------------------------------------------------------------------------------------
17261:
17262: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17263: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17264: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17265: -- call ADRs
17266: -- Bug 4922099
17259: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17260: ------------------------------------------------------------------------------------------
17261:
17262: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17263: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17264: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17265: -- call ADRs
17266: -- Bug 4922099
17267: --
17283: , x_value_type_code => l_adr_value_type_code
17284: , p_side => 'NA'
17285: );
17286:
17287: xla_ae_lines_pkg.set_ccid(
17288: p_code_combination_id => l_ccid
17289: , p_value_type_code => l_adr_value_type_code
17290: , p_transaction_coa_id => l_adr_transaction_coa_id
17291: , p_accounting_coa_id => l_adr_accounting_coa_id
17318: );
17319:
17320: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17321:
17322: xla_ae_lines_pkg.set_segment(
17323: p_to_segment_code => 'GL_ACCOUNT'
17324: , p_segment_value => l_segment
17325: , p_from_segment_code => l_adr_value_segment_code
17326: , p_from_combination_id => l_adr_value_combination_id
17349:
17350: --
17351: -- Update the line information that should be overwritten
17352: --
17353: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17354: p_header_num => 1);
17355: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17356:
17357: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17351: -- Update the line information that should be overwritten
17352: --
17353: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17354: p_header_num => 1);
17355: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17356:
17357: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17358:
17359: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17353: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17354: p_header_num => 1);
17355: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17356:
17357: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17358:
17359: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17360: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17361: END IF;
17356:
17357: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17358:
17359: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17360: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17361: END IF;
17362:
17363: --
17364: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17363: --
17364: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17365: --
17366: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17367: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17368: ELSE
17369: ---------------------------------------------------------------------------------------------------
17370: -- 4262811a Switch Sign
17371: ---------------------------------------------------------------------------------------------------
17368: ELSE
17369: ---------------------------------------------------------------------------------------------------
17370: -- 4262811a Switch Sign
17371: ---------------------------------------------------------------------------------------------------
17372: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17373: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17369: ---------------------------------------------------------------------------------------------------
17370: -- 4262811a Switch Sign
17371: ---------------------------------------------------------------------------------------------------
17372: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17373: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17370: -- 4262811a Switch Sign
17371: ---------------------------------------------------------------------------------------------------
17372: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17373: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17378: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17371: ---------------------------------------------------------------------------------------------------
17372: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17373: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17378: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17372: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17373: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17378: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17380:
17374: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17378: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17380:
17381: END IF;
17382:
17375: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17376: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17377: -- 5132302
17378: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17379: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17380:
17381: END IF;
17382:
17383: -- 4955764
17380:
17381: END IF;
17382:
17383: -- 4955764
17384: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17385: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17386:
17387:
17388: XLA_AE_LINES_PKG.ValidateCurrentLine;
17384: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17385: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17386:
17387:
17388: XLA_AE_LINES_PKG.ValidateCurrentLine;
17389: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17390:
17391: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17392: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17385: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17386:
17387:
17388: XLA_AE_LINES_PKG.ValidateCurrentLine;
17389: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17390:
17391: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17392: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17393: ,p_balance_type_code => l_balance_type_code);
17591: --
17592: -- bulk performance
17593: --
17594: l_balance_type_code VARCHAR2(1);
17595: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17596: l_log_module VARCHAR2(240);
17597:
17598: --
17599: -- Upgrade strategy
17673: ') = 'Upward'
17674: THEN
17675:
17676: --
17677: XLA_AE_LINES_PKG.SetNewLine;
17678:
17679: p_balance_type_code := l_balance_type_code;
17680: -- set the flag so later we will know whether the gain loss line needs to be created
17681:
17685:
17686: --
17687: -- bulk performance
17688: --
17689: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17690: p_header_num => 0); -- 4262811
17691: --
17692: -- set accounting line options
17693: --
17690: p_header_num => 0); -- 4262811
17691: --
17692: -- set accounting line options
17693: --
17694: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17695: p_natural_side_code => 'C'
17696: , p_gain_or_loss_flag => 'N'
17697: , p_gl_transfer_mode_code => 'S'
17698: , p_acct_entry_type_code => 'A'
17704: --
17705: --
17706: -- set accounting line type info
17707: --
17708: xla_ae_lines_pkg.SetAcctLineType
17709: (p_component_type => l_component_type
17710: ,p_event_type_code => l_event_type_code
17711: ,p_line_definition_owner_code => l_line_definition_owner_code
17712: ,p_line_definition_code => l_line_definition_code
17718: ,p_event_class_code => l_event_class_code);
17719: --
17720: -- set accounting class
17721: --
17722: xla_ae_lines_pkg.SetAcctClass(
17723: p_accounting_class_code => 'ACCOUNTSPAYABLE'
17724: , p_ae_header_id => l_ae_header_id
17725: );
17726:
17726:
17727: --
17728: -- set rounding class
17729: --
17730: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17731: 'ACCOUNTSPAYABLE';
17732:
17733: --
17734: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17730: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17731: 'ACCOUNTSPAYABLE';
17732:
17733: --
17734: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17735: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17736: --
17737: -- bulk performance
17738: --
17731: 'ACCOUNTSPAYABLE';
17732:
17733: --
17734: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17735: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17736: --
17737: -- bulk performance
17738: --
17739: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17735: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17736: --
17737: -- bulk performance
17738: --
17739: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17740:
17741: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17742: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17743:
17737: -- bulk performance
17738: --
17739: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17740:
17741: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17742: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17743:
17744: -- 4955764
17745: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17741: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17742: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17743:
17744: -- 4955764
17745: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17746: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17747:
17748: -- 4458381 Public Sector Enh
17749:
17847: l_rec_acct_attrs.array_num_value(41) := p_source_51;
17848: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
17849: l_rec_acct_attrs.array_num_value(42) := p_source_52;
17850:
17851: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17852: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17853:
17854: ---------------------------------------------------------------------------------------------------------------
17855: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17848: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
17849: l_rec_acct_attrs.array_num_value(42) := p_source_52;
17850:
17851: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17852: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17853:
17854: ---------------------------------------------------------------------------------------------------------------
17855: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17856: ---------------------------------------------------------------------------------------------------------------
17851: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17852: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17853:
17854: ---------------------------------------------------------------------------------------------------------------
17855: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17856: ---------------------------------------------------------------------------------------------------------------
17857: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17858:
17859: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17853:
17854: ---------------------------------------------------------------------------------------------------------------
17855: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17856: ---------------------------------------------------------------------------------------------------------------
17857: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17858:
17859: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17860: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17861:
17855: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17856: ---------------------------------------------------------------------------------------------------------------
17857: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17858:
17859: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17860: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17861:
17862: IF xla_accounting_cache_pkg.GetValueChar
17863: (p_source_code => 'LEDGER_CATEGORY_CODE'
17856: ---------------------------------------------------------------------------------------------------------------
17857: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17858:
17859: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17860: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17861:
17862: IF xla_accounting_cache_pkg.GetValueChar
17863: (p_source_code => 'LEDGER_CATEGORY_CODE'
17864: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17867: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17868: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17869: )
17870: THEN
17871: xla_ae_lines_pkg.BflowUpgEntry
17872: (p_business_method_code => l_bflow_method_code
17873: ,p_business_class_code => l_bflow_class_code
17874: ,p_balance_type => l_balance_type_code);
17875: ELSE
17884: --
17885: -- call description
17886: --
17887:
17888: xla_ae_lines_pkg.SetLineDescription(
17889: p_ae_header_id => l_ae_header_id
17890: ,p_description => Description_2 (
17891: p_application_id => p_application_id
17892: , p_ae_header_id => l_ae_header_id
17917: , x_value_type_code => l_adr_value_type_code
17918: , p_side => 'NA'
17919: );
17920:
17921: xla_ae_lines_pkg.set_ccid(
17922: p_code_combination_id => l_ccid
17923: , p_value_type_code => l_adr_value_type_code
17924: , p_transaction_coa_id => l_adr_transaction_coa_id
17925: , p_accounting_coa_id => l_adr_accounting_coa_id
17952: );
17953:
17954: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17955:
17956: xla_ae_lines_pkg.set_segment(
17957: p_to_segment_code => 'GL_ACCOUNT'
17958: , p_segment_value => l_segment
17959: , p_from_segment_code => l_adr_value_segment_code
17960: , p_from_combination_id => l_adr_value_combination_id
17996: xla_accounting_err_pkg.build_message
17997: (p_appli_s_name => 'XLA'
17998: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17999: ,p_token_1 => 'LINE_NUMBER'
18000: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18001: ,p_token_2 => 'LINE_TYPE_NAME'
18002: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18003: l_component_type
18004: ,l_component_code
18032: --
18033: --
18034: ------------------------------------------------------------------------------------------------
18035: -- 4219869 Business Flow
18036: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18037: -- Prior Entry. Currently, the following code is always generated.
18038: ------------------------------------------------------------------------------------------------
18039: XLA_AE_LINES_PKG.ValidateCurrentLine;
18040:
18035: -- 4219869 Business Flow
18036: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18037: -- Prior Entry. Currently, the following code is always generated.
18038: ------------------------------------------------------------------------------------------------
18039: XLA_AE_LINES_PKG.ValidateCurrentLine;
18040:
18041: ------------------------------------------------------------------------------------
18042: -- 4219869 Business Flow
18043: -- Populated credit and debit amounts -- Need to generate this within IF
18041: ------------------------------------------------------------------------------------
18042: -- 4219869 Business Flow
18043: -- Populated credit and debit amounts -- Need to generate this within IF
18044: ------------------------------------------------------------------------------------
18045: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18046:
18047: ----------------------------------------------------------------------------------
18048: -- 4219869 Business Flow
18049: -- Update journal entry status -- Need to generate this within IF
18073: -- To allow MPA report to determine if it should generate report process
18074: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18075: ------------------------------------------------------------------------------------------
18076:
18077: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18078: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18079: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18080: -- call ADRs
18081: -- Bug 4922099
18074: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18075: ------------------------------------------------------------------------------------------
18076:
18077: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18078: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18079: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18080: -- call ADRs
18081: -- Bug 4922099
18082: --
18098: , x_value_type_code => l_adr_value_type_code
18099: , p_side => 'NA'
18100: );
18101:
18102: xla_ae_lines_pkg.set_ccid(
18103: p_code_combination_id => l_ccid
18104: , p_value_type_code => l_adr_value_type_code
18105: , p_transaction_coa_id => l_adr_transaction_coa_id
18106: , p_accounting_coa_id => l_adr_accounting_coa_id
18133: );
18134:
18135: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18136:
18137: xla_ae_lines_pkg.set_segment(
18138: p_to_segment_code => 'GL_ACCOUNT'
18139: , p_segment_value => l_segment
18140: , p_from_segment_code => l_adr_value_segment_code
18141: , p_from_combination_id => l_adr_value_combination_id
18164:
18165: --
18166: -- Update the line information that should be overwritten
18167: --
18168: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18169: p_header_num => 1);
18170: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18171:
18172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18166: -- Update the line information that should be overwritten
18167: --
18168: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18169: p_header_num => 1);
18170: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18171:
18172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18173:
18174: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18168: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18169: p_header_num => 1);
18170: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18171:
18172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18173:
18174: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18175: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18176: END IF;
18171:
18172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18173:
18174: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18175: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18176: END IF;
18177:
18178: --
18179: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18178: --
18179: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18180: --
18181: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18182: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18183: ELSE
18184: ---------------------------------------------------------------------------------------------------
18185: -- 4262811a Switch Sign
18186: ---------------------------------------------------------------------------------------------------
18183: ELSE
18184: ---------------------------------------------------------------------------------------------------
18185: -- 4262811a Switch Sign
18186: ---------------------------------------------------------------------------------------------------
18187: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18188: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18184: ---------------------------------------------------------------------------------------------------
18185: -- 4262811a Switch Sign
18186: ---------------------------------------------------------------------------------------------------
18187: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18188: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18185: -- 4262811a Switch Sign
18186: ---------------------------------------------------------------------------------------------------
18187: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18188: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18193: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18186: ---------------------------------------------------------------------------------------------------
18187: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18188: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18193: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18194: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18187: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18188: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18193: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18194: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18195:
18189: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18193: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18194: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18195:
18196: END IF;
18197:
18190: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18191: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18192: -- 5132302
18193: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18194: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18195:
18196: END IF;
18197:
18198: -- 4955764
18195:
18196: END IF;
18197:
18198: -- 4955764
18199: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18200: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18201:
18202:
18203: XLA_AE_LINES_PKG.ValidateCurrentLine;
18199: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18200: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18201:
18202:
18203: XLA_AE_LINES_PKG.ValidateCurrentLine;
18204: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18205:
18206: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18207: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18200: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18201:
18202:
18203: XLA_AE_LINES_PKG.ValidateCurrentLine;
18204: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18205:
18206: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18207: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18208: ,p_balance_type_code => l_balance_type_code);
18392: --
18393: -- bulk performance
18394: --
18395: l_balance_type_code VARCHAR2(1);
18396: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18397: l_log_module VARCHAR2(240);
18398:
18399: --
18400: -- Upgrade strategy
18467: ') <> 'DEBIT MEMO CANCELLED'
18468: THEN
18469:
18470: --
18471: XLA_AE_LINES_PKG.SetNewLine;
18472:
18473: p_balance_type_code := l_balance_type_code;
18474: -- set the flag so later we will know whether the gain loss line needs to be created
18475:
18479:
18480: --
18481: -- bulk performance
18482: --
18483: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18484: p_header_num => 0); -- 4262811
18485: --
18486: -- set accounting line options
18487: --
18484: p_header_num => 0); -- 4262811
18485: --
18486: -- set accounting line options
18487: --
18488: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18489: p_natural_side_code => 'D'
18490: , p_gain_or_loss_flag => 'N'
18491: , p_gl_transfer_mode_code => 'S'
18492: , p_acct_entry_type_code => 'A'
18498: --
18499: --
18500: -- set accounting line type info
18501: --
18502: xla_ae_lines_pkg.SetAcctLineType
18503: (p_component_type => l_component_type
18504: ,p_event_type_code => l_event_type_code
18505: ,p_line_definition_owner_code => l_line_definition_owner_code
18506: ,p_line_definition_code => l_line_definition_code
18512: ,p_event_class_code => l_event_class_code);
18513: --
18514: -- set accounting class
18515: --
18516: xla_ae_lines_pkg.SetAcctClass(
18517: p_accounting_class_code => 'ACCOUNTSPAYABLE'
18518: , p_ae_header_id => l_ae_header_id
18519: );
18520:
18520:
18521: --
18522: -- set rounding class
18523: --
18524: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18525: 'ACCOUNTSPAYABLE';
18526:
18527: --
18528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18524: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18525: 'ACCOUNTSPAYABLE';
18526:
18527: --
18528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18530: --
18531: -- bulk performance
18532: --
18525: 'ACCOUNTSPAYABLE';
18526:
18527: --
18528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18530: --
18531: -- bulk performance
18532: --
18533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18530: --
18531: -- bulk performance
18532: --
18533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18534:
18535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18537:
18531: -- bulk performance
18532: --
18533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18534:
18535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18537:
18538: -- 4955764
18539: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18537:
18538: -- 4955764
18539: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18540: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18541:
18542: -- 4458381 Public Sector Enh
18543:
18641: l_rec_acct_attrs.array_num_value(41) := p_source_51;
18642: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
18643: l_rec_acct_attrs.array_num_value(42) := p_source_52;
18644:
18645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18647:
18648: ---------------------------------------------------------------------------------------------------------------
18649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18642: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
18643: l_rec_acct_attrs.array_num_value(42) := p_source_52;
18644:
18645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18647:
18648: ---------------------------------------------------------------------------------------------------------------
18649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18650: ---------------------------------------------------------------------------------------------------------------
18645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18647:
18648: ---------------------------------------------------------------------------------------------------------------
18649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18650: ---------------------------------------------------------------------------------------------------------------
18651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18652:
18653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18647:
18648: ---------------------------------------------------------------------------------------------------------------
18649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18650: ---------------------------------------------------------------------------------------------------------------
18651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18652:
18653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18655:
18649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18650: ---------------------------------------------------------------------------------------------------------------
18651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18652:
18653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18655:
18656: IF xla_accounting_cache_pkg.GetValueChar
18657: (p_source_code => 'LEDGER_CATEGORY_CODE'
18650: ---------------------------------------------------------------------------------------------------------------
18651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18652:
18653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18655:
18656: IF xla_accounting_cache_pkg.GetValueChar
18657: (p_source_code => 'LEDGER_CATEGORY_CODE'
18658: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18661: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18662: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18663: )
18664: THEN
18665: xla_ae_lines_pkg.BflowUpgEntry
18666: (p_business_method_code => l_bflow_method_code
18667: ,p_business_class_code => l_bflow_class_code
18668: ,p_balance_type => l_balance_type_code);
18669: ELSE
18678: --
18679: -- call description
18680: --
18681:
18682: xla_ae_lines_pkg.SetLineDescription(
18683: p_ae_header_id => l_ae_header_id
18684: ,p_description => Description_2 (
18685: p_application_id => p_application_id
18686: , p_ae_header_id => l_ae_header_id
18711: , x_value_type_code => l_adr_value_type_code
18712: , p_side => 'NA'
18713: );
18714:
18715: xla_ae_lines_pkg.set_ccid(
18716: p_code_combination_id => l_ccid
18717: , p_value_type_code => l_adr_value_type_code
18718: , p_transaction_coa_id => l_adr_transaction_coa_id
18719: , p_accounting_coa_id => l_adr_accounting_coa_id
18743: );
18744:
18745: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18746:
18747: xla_ae_lines_pkg.set_segment(
18748: p_to_segment_code => 'GL_ACCOUNT'
18749: , p_segment_value => l_segment
18750: , p_from_segment_code => l_adr_value_segment_code
18751: , p_from_combination_id => l_adr_value_combination_id
18787: xla_accounting_err_pkg.build_message
18788: (p_appli_s_name => 'XLA'
18789: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18790: ,p_token_1 => 'LINE_NUMBER'
18791: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18792: ,p_token_2 => 'LINE_TYPE_NAME'
18793: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18794: l_component_type
18795: ,l_component_code
18823: --
18824: --
18825: ------------------------------------------------------------------------------------------------
18826: -- 4219869 Business Flow
18827: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18828: -- Prior Entry. Currently, the following code is always generated.
18829: ------------------------------------------------------------------------------------------------
18830: XLA_AE_LINES_PKG.ValidateCurrentLine;
18831:
18826: -- 4219869 Business Flow
18827: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18828: -- Prior Entry. Currently, the following code is always generated.
18829: ------------------------------------------------------------------------------------------------
18830: XLA_AE_LINES_PKG.ValidateCurrentLine;
18831:
18832: ------------------------------------------------------------------------------------
18833: -- 4219869 Business Flow
18834: -- Populated credit and debit amounts -- Need to generate this within IF
18832: ------------------------------------------------------------------------------------
18833: -- 4219869 Business Flow
18834: -- Populated credit and debit amounts -- Need to generate this within IF
18835: ------------------------------------------------------------------------------------
18836: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18837:
18838: ----------------------------------------------------------------------------------
18839: -- 4219869 Business Flow
18840: -- Update journal entry status -- Need to generate this within IF
18864: -- To allow MPA report to determine if it should generate report process
18865: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18866: ------------------------------------------------------------------------------------------
18867:
18868: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18869: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18870: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18871: -- call ADRs
18872: -- Bug 4922099
18865: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18866: ------------------------------------------------------------------------------------------
18867:
18868: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18869: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18870: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18871: -- call ADRs
18872: -- Bug 4922099
18873: --
18889: , x_value_type_code => l_adr_value_type_code
18890: , p_side => 'NA'
18891: );
18892:
18893: xla_ae_lines_pkg.set_ccid(
18894: p_code_combination_id => l_ccid
18895: , p_value_type_code => l_adr_value_type_code
18896: , p_transaction_coa_id => l_adr_transaction_coa_id
18897: , p_accounting_coa_id => l_adr_accounting_coa_id
18921: );
18922:
18923: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18924:
18925: xla_ae_lines_pkg.set_segment(
18926: p_to_segment_code => 'GL_ACCOUNT'
18927: , p_segment_value => l_segment
18928: , p_from_segment_code => l_adr_value_segment_code
18929: , p_from_combination_id => l_adr_value_combination_id
18952:
18953: --
18954: -- Update the line information that should be overwritten
18955: --
18956: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18957: p_header_num => 1);
18958: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18959:
18960: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18954: -- Update the line information that should be overwritten
18955: --
18956: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18957: p_header_num => 1);
18958: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18959:
18960: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18961:
18962: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18956: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18957: p_header_num => 1);
18958: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18959:
18960: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18961:
18962: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18963: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18964: END IF;
18959:
18960: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18961:
18962: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18963: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18964: END IF;
18965:
18966: --
18967: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18966: --
18967: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18968: --
18969: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18970: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18971: ELSE
18972: ---------------------------------------------------------------------------------------------------
18973: -- 4262811a Switch Sign
18974: ---------------------------------------------------------------------------------------------------
18971: ELSE
18972: ---------------------------------------------------------------------------------------------------
18973: -- 4262811a Switch Sign
18974: ---------------------------------------------------------------------------------------------------
18975: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18972: ---------------------------------------------------------------------------------------------------
18973: -- 4262811a Switch Sign
18974: ---------------------------------------------------------------------------------------------------
18975: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18973: -- 4262811a Switch Sign
18974: ---------------------------------------------------------------------------------------------------
18975: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18974: ---------------------------------------------------------------------------------------------------
18975: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18975: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18983:
18977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18983:
18984: END IF;
18985:
18978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18980: -- 5132302
18981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18983:
18984: END IF;
18985:
18986: -- 4955764
18983:
18984: END IF;
18985:
18986: -- 4955764
18987: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18988: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18989:
18990:
18991: XLA_AE_LINES_PKG.ValidateCurrentLine;
18987: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18988: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18989:
18990:
18991: XLA_AE_LINES_PKG.ValidateCurrentLine;
18992: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18993:
18994: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18995: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18988: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18989:
18990:
18991: XLA_AE_LINES_PKG.ValidateCurrentLine;
18992: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18993:
18994: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18995: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18996: ,p_balance_type_code => l_balance_type_code);
19180: --
19181: -- bulk performance
19182: --
19183: l_balance_type_code VARCHAR2(1);
19184: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19185: l_log_module VARCHAR2(240);
19186:
19187: --
19188: -- Upgrade strategy
19255: ') <> 'DEBIT MEMO CANCELLED'
19256: THEN
19257:
19258: --
19259: XLA_AE_LINES_PKG.SetNewLine;
19260:
19261: p_balance_type_code := l_balance_type_code;
19262: -- set the flag so later we will know whether the gain loss line needs to be created
19263:
19267:
19268: --
19269: -- bulk performance
19270: --
19271: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19272: p_header_num => 0); -- 4262811
19273: --
19274: -- set accounting line options
19275: --
19272: p_header_num => 0); -- 4262811
19273: --
19274: -- set accounting line options
19275: --
19276: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19277: p_natural_side_code => 'C'
19278: , p_gain_or_loss_flag => 'N'
19279: , p_gl_transfer_mode_code => 'S'
19280: , p_acct_entry_type_code => 'A'
19286: --
19287: --
19288: -- set accounting line type info
19289: --
19290: xla_ae_lines_pkg.SetAcctLineType
19291: (p_component_type => l_component_type
19292: ,p_event_type_code => l_event_type_code
19293: ,p_line_definition_owner_code => l_line_definition_owner_code
19294: ,p_line_definition_code => l_line_definition_code
19300: ,p_event_class_code => l_event_class_code);
19301: --
19302: -- set accounting class
19303: --
19304: xla_ae_lines_pkg.SetAcctClass(
19305: p_accounting_class_code => 'ACCOUNTSPAYABLE'
19306: , p_ae_header_id => l_ae_header_id
19307: );
19308:
19308:
19309: --
19310: -- set rounding class
19311: --
19312: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19313: 'ACCOUNTSPAYABLE';
19314:
19315: --
19316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19312: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19313: 'ACCOUNTSPAYABLE';
19314:
19315: --
19316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19318: --
19319: -- bulk performance
19320: --
19313: 'ACCOUNTSPAYABLE';
19314:
19315: --
19316: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19318: --
19319: -- bulk performance
19320: --
19321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19317: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19318: --
19319: -- bulk performance
19320: --
19321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19322:
19323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19325:
19319: -- bulk performance
19320: --
19321: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19322:
19323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19325:
19326: -- 4955764
19327: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19323: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19324: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19325:
19326: -- 4955764
19327: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19328: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19329:
19330: -- 4458381 Public Sector Enh
19331:
19429: l_rec_acct_attrs.array_num_value(41) := p_source_51;
19430: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
19431: l_rec_acct_attrs.array_num_value(42) := p_source_52;
19432:
19433: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19434: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19435:
19436: ---------------------------------------------------------------------------------------------------------------
19437: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19430: l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
19431: l_rec_acct_attrs.array_num_value(42) := p_source_52;
19432:
19433: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19434: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19435:
19436: ---------------------------------------------------------------------------------------------------------------
19437: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19438: ---------------------------------------------------------------------------------------------------------------
19433: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19434: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19435:
19436: ---------------------------------------------------------------------------------------------------------------
19437: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19438: ---------------------------------------------------------------------------------------------------------------
19439: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19440:
19441: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19435:
19436: ---------------------------------------------------------------------------------------------------------------
19437: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19438: ---------------------------------------------------------------------------------------------------------------
19439: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19440:
19441: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19442: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19443:
19437: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19438: ---------------------------------------------------------------------------------------------------------------
19439: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19440:
19441: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19442: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19443:
19444: IF xla_accounting_cache_pkg.GetValueChar
19445: (p_source_code => 'LEDGER_CATEGORY_CODE'
19438: ---------------------------------------------------------------------------------------------------------------
19439: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19440:
19441: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19442: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19443:
19444: IF xla_accounting_cache_pkg.GetValueChar
19445: (p_source_code => 'LEDGER_CATEGORY_CODE'
19446: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19449: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19450: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19451: )
19452: THEN
19453: xla_ae_lines_pkg.BflowUpgEntry
19454: (p_business_method_code => l_bflow_method_code
19455: ,p_business_class_code => l_bflow_class_code
19456: ,p_balance_type => l_balance_type_code);
19457: ELSE
19466: --
19467: -- call description
19468: --
19469:
19470: xla_ae_lines_pkg.SetLineDescription(
19471: p_ae_header_id => l_ae_header_id
19472: ,p_description => Description_2 (
19473: p_application_id => p_application_id
19474: , p_ae_header_id => l_ae_header_id
19499: , x_value_type_code => l_adr_value_type_code
19500: , p_side => 'NA'
19501: );
19502:
19503: xla_ae_lines_pkg.set_ccid(
19504: p_code_combination_id => l_ccid
19505: , p_value_type_code => l_adr_value_type_code
19506: , p_transaction_coa_id => l_adr_transaction_coa_id
19507: , p_accounting_coa_id => l_adr_accounting_coa_id
19531: );
19532:
19533: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19534:
19535: xla_ae_lines_pkg.set_segment(
19536: p_to_segment_code => 'GL_ACCOUNT'
19537: , p_segment_value => l_segment
19538: , p_from_segment_code => l_adr_value_segment_code
19539: , p_from_combination_id => l_adr_value_combination_id
19575: xla_accounting_err_pkg.build_message
19576: (p_appli_s_name => 'XLA'
19577: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19578: ,p_token_1 => 'LINE_NUMBER'
19579: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19580: ,p_token_2 => 'LINE_TYPE_NAME'
19581: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19582: l_component_type
19583: ,l_component_code
19611: --
19612: --
19613: ------------------------------------------------------------------------------------------------
19614: -- 4219869 Business Flow
19615: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19616: -- Prior Entry. Currently, the following code is always generated.
19617: ------------------------------------------------------------------------------------------------
19618: XLA_AE_LINES_PKG.ValidateCurrentLine;
19619:
19614: -- 4219869 Business Flow
19615: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19616: -- Prior Entry. Currently, the following code is always generated.
19617: ------------------------------------------------------------------------------------------------
19618: XLA_AE_LINES_PKG.ValidateCurrentLine;
19619:
19620: ------------------------------------------------------------------------------------
19621: -- 4219869 Business Flow
19622: -- Populated credit and debit amounts -- Need to generate this within IF
19620: ------------------------------------------------------------------------------------
19621: -- 4219869 Business Flow
19622: -- Populated credit and debit amounts -- Need to generate this within IF
19623: ------------------------------------------------------------------------------------
19624: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19625:
19626: ----------------------------------------------------------------------------------
19627: -- 4219869 Business Flow
19628: -- Update journal entry status -- Need to generate this within IF
19652: -- To allow MPA report to determine if it should generate report process
19653: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19654: ------------------------------------------------------------------------------------------
19655:
19656: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19657: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19658: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19659: -- call ADRs
19660: -- Bug 4922099
19653: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19654: ------------------------------------------------------------------------------------------
19655:
19656: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19657: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19658: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19659: -- call ADRs
19660: -- Bug 4922099
19661: --
19677: , x_value_type_code => l_adr_value_type_code
19678: , p_side => 'NA'
19679: );
19680:
19681: xla_ae_lines_pkg.set_ccid(
19682: p_code_combination_id => l_ccid
19683: , p_value_type_code => l_adr_value_type_code
19684: , p_transaction_coa_id => l_adr_transaction_coa_id
19685: , p_accounting_coa_id => l_adr_accounting_coa_id
19709: );
19710:
19711: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19712:
19713: xla_ae_lines_pkg.set_segment(
19714: p_to_segment_code => 'GL_ACCOUNT'
19715: , p_segment_value => l_segment
19716: , p_from_segment_code => l_adr_value_segment_code
19717: , p_from_combination_id => l_adr_value_combination_id
19740:
19741: --
19742: -- Update the line information that should be overwritten
19743: --
19744: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19745: p_header_num => 1);
19746: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19747:
19748: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19742: -- Update the line information that should be overwritten
19743: --
19744: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19745: p_header_num => 1);
19746: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19747:
19748: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19749:
19750: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19744: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19745: p_header_num => 1);
19746: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19747:
19748: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19749:
19750: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19751: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19752: END IF;
19747:
19748: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19749:
19750: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19751: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19752: END IF;
19753:
19754: --
19755: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19754: --
19755: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19756: --
19757: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19758: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19759: ELSE
19760: ---------------------------------------------------------------------------------------------------
19761: -- 4262811a Switch Sign
19762: ---------------------------------------------------------------------------------------------------
19759: ELSE
19760: ---------------------------------------------------------------------------------------------------
19761: -- 4262811a Switch Sign
19762: ---------------------------------------------------------------------------------------------------
19763: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19760: ---------------------------------------------------------------------------------------------------
19761: -- 4262811a Switch Sign
19762: ---------------------------------------------------------------------------------------------------
19763: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19761: -- 4262811a Switch Sign
19762: ---------------------------------------------------------------------------------------------------
19763: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19762: ---------------------------------------------------------------------------------------------------
19763: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19770: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19763: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19770: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19771:
19765: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19770: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19771:
19772: END IF;
19773:
19766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19767: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19768: -- 5132302
19769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19770: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19771:
19772: END IF;
19773:
19774: -- 4955764
19771:
19772: END IF;
19773:
19774: -- 4955764
19775: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19776: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19777:
19778:
19779: XLA_AE_LINES_PKG.ValidateCurrentLine;
19775: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19776: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19777:
19778:
19779: XLA_AE_LINES_PKG.ValidateCurrentLine;
19780: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19781:
19782: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19783: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19776: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19777:
19778:
19779: XLA_AE_LINES_PKG.ValidateCurrentLine;
19780: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19781:
19782: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19783: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19784: ,p_balance_type_code => l_balance_type_code);
19954: --
19955: -- bulk performance
19956: --
19957: l_balance_type_code VARCHAR2(1);
19958: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19959: l_log_module VARCHAR2(240);
19960:
19961: --
19962: -- Upgrade strategy
20029: ') = 'DEBIT MEMO CANCELLED'
20030: THEN
20031:
20032: --
20033: XLA_AE_LINES_PKG.SetNewLine;
20034:
20035: p_balance_type_code := l_balance_type_code;
20036: -- set the flag so later we will know whether the gain loss line needs to be created
20037:
20041:
20042: --
20043: -- bulk performance
20044: --
20045: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20046: p_header_num => 0); -- 4262811
20047: --
20048: -- set accounting line options
20049: --
20046: p_header_num => 0); -- 4262811
20047: --
20048: -- set accounting line options
20049: --
20050: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20051: p_natural_side_code => 'D'
20052: , p_gain_or_loss_flag => 'N'
20053: , p_gl_transfer_mode_code => 'S'
20054: , p_acct_entry_type_code => 'A'
20060: --
20061: --
20062: -- set accounting line type info
20063: --
20064: xla_ae_lines_pkg.SetAcctLineType
20065: (p_component_type => l_component_type
20066: ,p_event_type_code => l_event_type_code
20067: ,p_line_definition_owner_code => l_line_definition_owner_code
20068: ,p_line_definition_code => l_line_definition_code
20074: ,p_event_class_code => l_event_class_code);
20075: --
20076: -- set accounting class
20077: --
20078: xla_ae_lines_pkg.SetAcctClass(
20079: p_accounting_class_code => 'ACCOUNTSPAYABLE'
20080: , p_ae_header_id => l_ae_header_id
20081: );
20082:
20082:
20083: --
20084: -- set rounding class
20085: --
20086: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20087: 'ACCOUNTSPAYABLE';
20088:
20089: --
20090: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20086: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20087: 'ACCOUNTSPAYABLE';
20088:
20089: --
20090: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20091: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20092: --
20093: -- bulk performance
20094: --
20087: 'ACCOUNTSPAYABLE';
20088:
20089: --
20090: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20091: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20092: --
20093: -- bulk performance
20094: --
20095: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20091: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20092: --
20093: -- bulk performance
20094: --
20095: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20096:
20097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20098: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20099:
20093: -- bulk performance
20094: --
20095: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20096:
20097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20098: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20099:
20100: -- 4955764
20101: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20097: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20098: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20099:
20100: -- 4955764
20101: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20102: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20103:
20104: -- 4458381 Public Sector Enh
20105:
20193: l_rec_acct_attrs.array_num_value(36) := p_source_51;
20194: l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
20195: l_rec_acct_attrs.array_num_value(37) := p_source_52;
20196:
20197: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20198: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20199:
20200: ---------------------------------------------------------------------------------------------------------------
20201: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20194: l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
20195: l_rec_acct_attrs.array_num_value(37) := p_source_52;
20196:
20197: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20198: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20199:
20200: ---------------------------------------------------------------------------------------------------------------
20201: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20202: ---------------------------------------------------------------------------------------------------------------
20197: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20198: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20199:
20200: ---------------------------------------------------------------------------------------------------------------
20201: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20202: ---------------------------------------------------------------------------------------------------------------
20203: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20204:
20205: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20199:
20200: ---------------------------------------------------------------------------------------------------------------
20201: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20202: ---------------------------------------------------------------------------------------------------------------
20203: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20204:
20205: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20206: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20207:
20201: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20202: ---------------------------------------------------------------------------------------------------------------
20203: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20204:
20205: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20206: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20207:
20208: IF xla_accounting_cache_pkg.GetValueChar
20209: (p_source_code => 'LEDGER_CATEGORY_CODE'
20202: ---------------------------------------------------------------------------------------------------------------
20203: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20204:
20205: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20206: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20207:
20208: IF xla_accounting_cache_pkg.GetValueChar
20209: (p_source_code => 'LEDGER_CATEGORY_CODE'
20210: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20213: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20214: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20215: )
20216: THEN
20217: xla_ae_lines_pkg.BflowUpgEntry
20218: (p_business_method_code => l_bflow_method_code
20219: ,p_business_class_code => l_bflow_class_code
20220: ,p_balance_type => l_balance_type_code);
20221: ELSE
20219: ,p_business_class_code => l_bflow_class_code
20220: ,p_balance_type => l_balance_type_code);
20221: ELSE
20222: NULL;
20223: XLA_AE_LINES_PKG.business_flow_validation(
20224: p_business_method_code => l_bflow_method_code
20225: ,p_business_class_code => l_bflow_class_code
20226: ,p_inherit_description_flag => l_inherit_desc_flag);
20227: END IF;
20266: xla_accounting_err_pkg.build_message
20267: (p_appli_s_name => 'XLA'
20268: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20269: ,p_token_1 => 'LINE_NUMBER'
20270: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20271: ,p_token_2 => 'LINE_TYPE_NAME'
20272: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20273: l_component_type
20274: ,l_component_code
20302: --
20303: --
20304: ------------------------------------------------------------------------------------------------
20305: -- 4219869 Business Flow
20306: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20307: -- Prior Entry. Currently, the following code is always generated.
20308: ------------------------------------------------------------------------------------------------
20309: -- No ValidateCurrentLine for business flow method of Prior Entry
20310:
20311: ------------------------------------------------------------------------------------
20312: -- 4219869 Business Flow
20313: -- Populated credit and debit amounts -- Need to generate this within IF
20314: ------------------------------------------------------------------------------------
20315: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20316:
20317: ----------------------------------------------------------------------------------
20318: -- 4219869 Business Flow
20319: -- Update journal entry status -- Need to generate this within IF
20343: -- To allow MPA report to determine if it should generate report process
20344: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20345: ------------------------------------------------------------------------------------------
20346:
20347: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20348: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20349: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20350: -- call ADRs
20351: -- Bug 4922099
20344: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20345: ------------------------------------------------------------------------------------------
20346:
20347: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20348: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20349: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20350: -- call ADRs
20351: -- Bug 4922099
20352: --
20365:
20366: --
20367: -- Update the line information that should be overwritten
20368: --
20369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20370: p_header_num => 1);
20371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20372:
20373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20367: -- Update the line information that should be overwritten
20368: --
20369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20370: p_header_num => 1);
20371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20372:
20373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20374:
20375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20370: p_header_num => 1);
20371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20372:
20373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20374:
20375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20376: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20377: END IF;
20372:
20373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20374:
20375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20376: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20377: END IF;
20378:
20379: --
20380: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20379: --
20380: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20381: --
20382: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20383: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20384: ELSE
20385: ---------------------------------------------------------------------------------------------------
20386: -- 4262811a Switch Sign
20387: ---------------------------------------------------------------------------------------------------
20384: ELSE
20385: ---------------------------------------------------------------------------------------------------
20386: -- 4262811a Switch Sign
20387: ---------------------------------------------------------------------------------------------------
20388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20385: ---------------------------------------------------------------------------------------------------
20386: -- 4262811a Switch Sign
20387: ---------------------------------------------------------------------------------------------------
20388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20386: -- 4262811a Switch Sign
20387: ---------------------------------------------------------------------------------------------------
20388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20387: ---------------------------------------------------------------------------------------------------
20388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20396:
20390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20396:
20397: END IF;
20398:
20391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20393: -- 5132302
20394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20396:
20397: END IF;
20398:
20399: -- 4955764
20396:
20397: END IF;
20398:
20399: -- 4955764
20400: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20402:
20403:
20404: XLA_AE_LINES_PKG.ValidateCurrentLine;
20400: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20402:
20403:
20404: XLA_AE_LINES_PKG.ValidateCurrentLine;
20405: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20406:
20407: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20408: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20402:
20403:
20404: XLA_AE_LINES_PKG.ValidateCurrentLine;
20405: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20406:
20407: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20408: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20409: ,p_balance_type_code => l_balance_type_code);
20579: --
20580: -- bulk performance
20581: --
20582: l_balance_type_code VARCHAR2(1);
20583: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20584: l_log_module VARCHAR2(240);
20585:
20586: --
20587: -- Upgrade strategy
20654: ') = 'DEBIT MEMO CANCELLED'
20655: THEN
20656:
20657: --
20658: XLA_AE_LINES_PKG.SetNewLine;
20659:
20660: p_balance_type_code := l_balance_type_code;
20661: -- set the flag so later we will know whether the gain loss line needs to be created
20662:
20666:
20667: --
20668: -- bulk performance
20669: --
20670: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20671: p_header_num => 0); -- 4262811
20672: --
20673: -- set accounting line options
20674: --
20671: p_header_num => 0); -- 4262811
20672: --
20673: -- set accounting line options
20674: --
20675: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20676: p_natural_side_code => 'C'
20677: , p_gain_or_loss_flag => 'N'
20678: , p_gl_transfer_mode_code => 'S'
20679: , p_acct_entry_type_code => 'A'
20685: --
20686: --
20687: -- set accounting line type info
20688: --
20689: xla_ae_lines_pkg.SetAcctLineType
20690: (p_component_type => l_component_type
20691: ,p_event_type_code => l_event_type_code
20692: ,p_line_definition_owner_code => l_line_definition_owner_code
20693: ,p_line_definition_code => l_line_definition_code
20699: ,p_event_class_code => l_event_class_code);
20700: --
20701: -- set accounting class
20702: --
20703: xla_ae_lines_pkg.SetAcctClass(
20704: p_accounting_class_code => 'ACCOUNTSPAYABLE'
20705: , p_ae_header_id => l_ae_header_id
20706: );
20707:
20707:
20708: --
20709: -- set rounding class
20710: --
20711: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20712: 'ACCOUNTSPAYABLE';
20713:
20714: --
20715: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20711: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20712: 'ACCOUNTSPAYABLE';
20713:
20714: --
20715: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20716: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20717: --
20718: -- bulk performance
20719: --
20712: 'ACCOUNTSPAYABLE';
20713:
20714: --
20715: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20716: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20717: --
20718: -- bulk performance
20719: --
20720: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20716: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20717: --
20718: -- bulk performance
20719: --
20720: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20721:
20722: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20723: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20724:
20718: -- bulk performance
20719: --
20720: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20721:
20722: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20723: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20724:
20725: -- 4955764
20726: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20722: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20723: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20724:
20725: -- 4955764
20726: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20727: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20728:
20729: -- 4458381 Public Sector Enh
20730:
20818: l_rec_acct_attrs.array_num_value(36) := p_source_51;
20819: l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
20820: l_rec_acct_attrs.array_num_value(37) := p_source_52;
20821:
20822: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20823: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20824:
20825: ---------------------------------------------------------------------------------------------------------------
20826: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20819: l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
20820: l_rec_acct_attrs.array_num_value(37) := p_source_52;
20821:
20822: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20823: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20824:
20825: ---------------------------------------------------------------------------------------------------------------
20826: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20827: ---------------------------------------------------------------------------------------------------------------
20822: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20823: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20824:
20825: ---------------------------------------------------------------------------------------------------------------
20826: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20827: ---------------------------------------------------------------------------------------------------------------
20828: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20829:
20830: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20824:
20825: ---------------------------------------------------------------------------------------------------------------
20826: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20827: ---------------------------------------------------------------------------------------------------------------
20828: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20829:
20830: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20831: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20832:
20826: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20827: ---------------------------------------------------------------------------------------------------------------
20828: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20829:
20830: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20831: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20832:
20833: IF xla_accounting_cache_pkg.GetValueChar
20834: (p_source_code => 'LEDGER_CATEGORY_CODE'
20827: ---------------------------------------------------------------------------------------------------------------
20828: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20829:
20830: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20831: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20832:
20833: IF xla_accounting_cache_pkg.GetValueChar
20834: (p_source_code => 'LEDGER_CATEGORY_CODE'
20835: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20838: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20839: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20840: )
20841: THEN
20842: xla_ae_lines_pkg.BflowUpgEntry
20843: (p_business_method_code => l_bflow_method_code
20844: ,p_business_class_code => l_bflow_class_code
20845: ,p_balance_type => l_balance_type_code);
20846: ELSE
20844: ,p_business_class_code => l_bflow_class_code
20845: ,p_balance_type => l_balance_type_code);
20846: ELSE
20847: NULL;
20848: XLA_AE_LINES_PKG.business_flow_validation(
20849: p_business_method_code => l_bflow_method_code
20850: ,p_business_class_code => l_bflow_class_code
20851: ,p_inherit_description_flag => l_inherit_desc_flag);
20852: END IF;
20891: xla_accounting_err_pkg.build_message
20892: (p_appli_s_name => 'XLA'
20893: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20894: ,p_token_1 => 'LINE_NUMBER'
20895: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20896: ,p_token_2 => 'LINE_TYPE_NAME'
20897: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20898: l_component_type
20899: ,l_component_code
20927: --
20928: --
20929: ------------------------------------------------------------------------------------------------
20930: -- 4219869 Business Flow
20931: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20932: -- Prior Entry. Currently, the following code is always generated.
20933: ------------------------------------------------------------------------------------------------
20934: -- No ValidateCurrentLine for business flow method of Prior Entry
20935:
20936: ------------------------------------------------------------------------------------
20937: -- 4219869 Business Flow
20938: -- Populated credit and debit amounts -- Need to generate this within IF
20939: ------------------------------------------------------------------------------------
20940: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20941:
20942: ----------------------------------------------------------------------------------
20943: -- 4219869 Business Flow
20944: -- Update journal entry status -- Need to generate this within IF
20968: -- To allow MPA report to determine if it should generate report process
20969: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20970: ------------------------------------------------------------------------------------------
20971:
20972: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20973: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20974: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20975: -- call ADRs
20976: -- Bug 4922099
20969: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20970: ------------------------------------------------------------------------------------------
20971:
20972: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20973: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20974: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20975: -- call ADRs
20976: -- Bug 4922099
20977: --
20990:
20991: --
20992: -- Update the line information that should be overwritten
20993: --
20994: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20995: p_header_num => 1);
20996: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20997:
20998: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20992: -- Update the line information that should be overwritten
20993: --
20994: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20995: p_header_num => 1);
20996: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20997:
20998: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20999:
21000: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20994: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20995: p_header_num => 1);
20996: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20997:
20998: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20999:
21000: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21001: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21002: END IF;
20997:
20998: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20999:
21000: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21001: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21002: END IF;
21003:
21004: --
21005: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21004: --
21005: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21006: --
21007: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21008: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21009: ELSE
21010: ---------------------------------------------------------------------------------------------------
21011: -- 4262811a Switch Sign
21012: ---------------------------------------------------------------------------------------------------
21009: ELSE
21010: ---------------------------------------------------------------------------------------------------
21011: -- 4262811a Switch Sign
21012: ---------------------------------------------------------------------------------------------------
21013: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21014: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21010: ---------------------------------------------------------------------------------------------------
21011: -- 4262811a Switch Sign
21012: ---------------------------------------------------------------------------------------------------
21013: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21014: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21011: -- 4262811a Switch Sign
21012: ---------------------------------------------------------------------------------------------------
21013: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21014: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21019: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21012: ---------------------------------------------------------------------------------------------------
21013: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21014: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21019: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21013: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21014: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21019: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21021:
21015: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21019: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21021:
21022: END IF;
21023:
21016: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21017: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21018: -- 5132302
21019: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21020: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21021:
21022: END IF;
21023:
21024: -- 4955764
21021:
21022: END IF;
21023:
21024: -- 4955764
21025: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21026: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21027:
21028:
21029: XLA_AE_LINES_PKG.ValidateCurrentLine;
21025: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21026: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21027:
21028:
21029: XLA_AE_LINES_PKG.ValidateCurrentLine;
21030: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21031:
21032: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21033: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21026: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21027:
21028:
21029: XLA_AE_LINES_PKG.ValidateCurrentLine;
21030: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21031:
21032: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21033: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21034: ,p_balance_type_code => l_balance_type_code);
21235: --
21236: -- bulk performance
21237: --
21238: l_balance_type_code VARCHAR2(1);
21239: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21240: l_log_module VARCHAR2(240);
21241:
21242: --
21243: -- Upgrade strategy
21333: ') <> 'Y'
21334: THEN
21335:
21336: --
21337: XLA_AE_LINES_PKG.SetNewLine;
21338:
21339: p_balance_type_code := l_balance_type_code;
21340: -- set the flag so later we will know whether the gain loss line needs to be created
21341:
21345:
21346: --
21347: -- bulk performance
21348: --
21349: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21350: p_header_num => 0); -- 4262811
21351: --
21352: -- set accounting line options
21353: --
21350: p_header_num => 0); -- 4262811
21351: --
21352: -- set accounting line options
21353: --
21354: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21355: p_natural_side_code => 'C'
21356: , p_gain_or_loss_flag => 'N'
21357: , p_gl_transfer_mode_code => 'S'
21358: , p_acct_entry_type_code => 'A'
21364: --
21365: --
21366: -- set accounting line type info
21367: --
21368: xla_ae_lines_pkg.SetAcctLineType
21369: (p_component_type => l_component_type
21370: ,p_event_type_code => l_event_type_code
21371: ,p_line_definition_owner_code => l_line_definition_owner_code
21372: ,p_line_definition_code => l_line_definition_code
21378: ,p_event_class_code => l_event_class_code);
21379: --
21380: -- set accounting class
21381: --
21382: xla_ae_lines_pkg.SetAcctClass(
21383: p_accounting_class_code => 'ACCOUNTSPAYABLE'
21384: , p_ae_header_id => l_ae_header_id
21385: );
21386:
21386:
21387: --
21388: -- set rounding class
21389: --
21390: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21391: 'ACCOUNTSPAYABLE';
21392:
21393: --
21394: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21390: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21391: 'ACCOUNTSPAYABLE';
21392:
21393: --
21394: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21395: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21396: --
21397: -- bulk performance
21398: --
21391: 'ACCOUNTSPAYABLE';
21392:
21393: --
21394: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21395: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21396: --
21397: -- bulk performance
21398: --
21399: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21395: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21396: --
21397: -- bulk performance
21398: --
21399: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21400:
21401: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21402: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21403:
21397: -- bulk performance
21398: --
21399: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21400:
21401: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21402: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21403:
21404: -- 4955764
21405: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21401: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21402: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21403:
21404: -- 4955764
21405: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21406: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21407:
21408: -- 4458381 Public Sector Enh
21409:
21511: l_rec_acct_attrs.array_num_value(43) := p_source_51;
21512: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
21513: l_rec_acct_attrs.array_num_value(44) := p_source_52;
21514:
21515: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21516: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21517:
21518: ---------------------------------------------------------------------------------------------------------------
21519: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21512: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
21513: l_rec_acct_attrs.array_num_value(44) := p_source_52;
21514:
21515: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21516: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21517:
21518: ---------------------------------------------------------------------------------------------------------------
21519: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21520: ---------------------------------------------------------------------------------------------------------------
21515: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21516: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21517:
21518: ---------------------------------------------------------------------------------------------------------------
21519: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21520: ---------------------------------------------------------------------------------------------------------------
21521: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21522:
21523: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21517:
21518: ---------------------------------------------------------------------------------------------------------------
21519: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21520: ---------------------------------------------------------------------------------------------------------------
21521: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21522:
21523: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21524: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21525:
21519: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21520: ---------------------------------------------------------------------------------------------------------------
21521: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21522:
21523: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21524: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21525:
21526: IF xla_accounting_cache_pkg.GetValueChar
21527: (p_source_code => 'LEDGER_CATEGORY_CODE'
21520: ---------------------------------------------------------------------------------------------------------------
21521: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21522:
21523: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21524: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21525:
21526: IF xla_accounting_cache_pkg.GetValueChar
21527: (p_source_code => 'LEDGER_CATEGORY_CODE'
21528: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21531: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21532: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21533: )
21534: THEN
21535: xla_ae_lines_pkg.BflowUpgEntry
21536: (p_business_method_code => l_bflow_method_code
21537: ,p_business_class_code => l_bflow_class_code
21538: ,p_balance_type => l_balance_type_code);
21539: ELSE
21548: --
21549: -- call description
21550: --
21551:
21552: xla_ae_lines_pkg.SetLineDescription(
21553: p_ae_header_id => l_ae_header_id
21554: ,p_description => Description_2 (
21555: p_application_id => p_application_id
21556: , p_ae_header_id => l_ae_header_id
21581: , x_value_type_code => l_adr_value_type_code
21582: , p_side => 'NA'
21583: );
21584:
21585: xla_ae_lines_pkg.set_ccid(
21586: p_code_combination_id => l_ccid
21587: , p_value_type_code => l_adr_value_type_code
21588: , p_transaction_coa_id => l_adr_transaction_coa_id
21589: , p_accounting_coa_id => l_adr_accounting_coa_id
21614: );
21615:
21616: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21617:
21618: xla_ae_lines_pkg.set_segment(
21619: p_to_segment_code => 'GL_ACCOUNT'
21620: , p_segment_value => l_segment
21621: , p_from_segment_code => l_adr_value_segment_code
21622: , p_from_combination_id => l_adr_value_combination_id
21658: xla_accounting_err_pkg.build_message
21659: (p_appli_s_name => 'XLA'
21660: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21661: ,p_token_1 => 'LINE_NUMBER'
21662: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21663: ,p_token_2 => 'LINE_TYPE_NAME'
21664: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21665: l_component_type
21666: ,l_component_code
21694: --
21695: --
21696: ------------------------------------------------------------------------------------------------
21697: -- 4219869 Business Flow
21698: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21699: -- Prior Entry. Currently, the following code is always generated.
21700: ------------------------------------------------------------------------------------------------
21701: XLA_AE_LINES_PKG.ValidateCurrentLine;
21702:
21697: -- 4219869 Business Flow
21698: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21699: -- Prior Entry. Currently, the following code is always generated.
21700: ------------------------------------------------------------------------------------------------
21701: XLA_AE_LINES_PKG.ValidateCurrentLine;
21702:
21703: ------------------------------------------------------------------------------------
21704: -- 4219869 Business Flow
21705: -- Populated credit and debit amounts -- Need to generate this within IF
21703: ------------------------------------------------------------------------------------
21704: -- 4219869 Business Flow
21705: -- Populated credit and debit amounts -- Need to generate this within IF
21706: ------------------------------------------------------------------------------------
21707: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21708:
21709: ----------------------------------------------------------------------------------
21710: -- 4219869 Business Flow
21711: -- Update journal entry status -- Need to generate this within IF
21735: -- To allow MPA report to determine if it should generate report process
21736: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21737: ------------------------------------------------------------------------------------------
21738:
21739: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21740: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21741: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21742: -- call ADRs
21743: -- Bug 4922099
21736: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21737: ------------------------------------------------------------------------------------------
21738:
21739: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21740: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21741: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21742: -- call ADRs
21743: -- Bug 4922099
21744: --
21760: , x_value_type_code => l_adr_value_type_code
21761: , p_side => 'NA'
21762: );
21763:
21764: xla_ae_lines_pkg.set_ccid(
21765: p_code_combination_id => l_ccid
21766: , p_value_type_code => l_adr_value_type_code
21767: , p_transaction_coa_id => l_adr_transaction_coa_id
21768: , p_accounting_coa_id => l_adr_accounting_coa_id
21793: );
21794:
21795: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21796:
21797: xla_ae_lines_pkg.set_segment(
21798: p_to_segment_code => 'GL_ACCOUNT'
21799: , p_segment_value => l_segment
21800: , p_from_segment_code => l_adr_value_segment_code
21801: , p_from_combination_id => l_adr_value_combination_id
21824:
21825: --
21826: -- Update the line information that should be overwritten
21827: --
21828: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21829: p_header_num => 1);
21830: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21831:
21832: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21826: -- Update the line information that should be overwritten
21827: --
21828: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21829: p_header_num => 1);
21830: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21831:
21832: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21833:
21834: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21828: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21829: p_header_num => 1);
21830: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21831:
21832: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21833:
21834: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21835: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21836: END IF;
21831:
21832: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21833:
21834: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21835: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21836: END IF;
21837:
21838: --
21839: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21838: --
21839: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21840: --
21841: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21842: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21843: ELSE
21844: ---------------------------------------------------------------------------------------------------
21845: -- 4262811a Switch Sign
21846: ---------------------------------------------------------------------------------------------------
21843: ELSE
21844: ---------------------------------------------------------------------------------------------------
21845: -- 4262811a Switch Sign
21846: ---------------------------------------------------------------------------------------------------
21847: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21848: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21844: ---------------------------------------------------------------------------------------------------
21845: -- 4262811a Switch Sign
21846: ---------------------------------------------------------------------------------------------------
21847: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21848: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21845: -- 4262811a Switch Sign
21846: ---------------------------------------------------------------------------------------------------
21847: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21848: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21853: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21846: ---------------------------------------------------------------------------------------------------
21847: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21848: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21853: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21854: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21847: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21848: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21853: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21854: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21855:
21849: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21853: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21854: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21855:
21856: END IF;
21857:
21850: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21851: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21852: -- 5132302
21853: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21854: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21855:
21856: END IF;
21857:
21858: -- 4955764
21855:
21856: END IF;
21857:
21858: -- 4955764
21859: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21860: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21861:
21862:
21863: XLA_AE_LINES_PKG.ValidateCurrentLine;
21859: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21860: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21861:
21862:
21863: XLA_AE_LINES_PKG.ValidateCurrentLine;
21864: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21865:
21866: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21867: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21860: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21861:
21862:
21863: XLA_AE_LINES_PKG.ValidateCurrentLine;
21864: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21865:
21866: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21867: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21868: ,p_balance_type_code => l_balance_type_code);
22067: --
22068: -- bulk performance
22069: --
22070: l_balance_type_code VARCHAR2(1);
22071: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22072: l_log_module VARCHAR2(240);
22073:
22074: --
22075: -- Upgrade strategy
22163: ') <> 'Y'
22164: THEN
22165:
22166: --
22167: XLA_AE_LINES_PKG.SetNewLine;
22168:
22169: p_balance_type_code := l_balance_type_code;
22170: -- set the flag so later we will know whether the gain loss line needs to be created
22171:
22175:
22176: --
22177: -- bulk performance
22178: --
22179: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22180: p_header_num => 0); -- 4262811
22181: --
22182: -- set accounting line options
22183: --
22180: p_header_num => 0); -- 4262811
22181: --
22182: -- set accounting line options
22183: --
22184: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22185: p_natural_side_code => 'C'
22186: , p_gain_or_loss_flag => 'N'
22187: , p_gl_transfer_mode_code => 'S'
22188: , p_acct_entry_type_code => 'A'
22194: --
22195: --
22196: -- set accounting line type info
22197: --
22198: xla_ae_lines_pkg.SetAcctLineType
22199: (p_component_type => l_component_type
22200: ,p_event_type_code => l_event_type_code
22201: ,p_line_definition_owner_code => l_line_definition_owner_code
22202: ,p_line_definition_code => l_line_definition_code
22208: ,p_event_class_code => l_event_class_code);
22209: --
22210: -- set accounting class
22211: --
22212: xla_ae_lines_pkg.SetAcctClass(
22213: p_accounting_class_code => 'ACCOUNTSPAYABLE'
22214: , p_ae_header_id => l_ae_header_id
22215: );
22216:
22216:
22217: --
22218: -- set rounding class
22219: --
22220: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22221: 'ACCOUNTSPAYABLE';
22222:
22223: --
22224: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22220: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22221: 'ACCOUNTSPAYABLE';
22222:
22223: --
22224: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22225: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22226: --
22227: -- bulk performance
22228: --
22221: 'ACCOUNTSPAYABLE';
22222:
22223: --
22224: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22225: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22226: --
22227: -- bulk performance
22228: --
22229: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22225: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22226: --
22227: -- bulk performance
22228: --
22229: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22230:
22231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22232: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22233:
22227: -- bulk performance
22228: --
22229: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22230:
22231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22232: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22233:
22234: -- 4955764
22235: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22232: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22233:
22234: -- 4955764
22235: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22236: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22237:
22238: -- 4458381 Public Sector Enh
22239:
22341: l_rec_acct_attrs.array_num_value(43) := p_source_51;
22342: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
22343: l_rec_acct_attrs.array_num_value(44) := p_source_52;
22344:
22345: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22346: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22347:
22348: ---------------------------------------------------------------------------------------------------------------
22349: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22342: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
22343: l_rec_acct_attrs.array_num_value(44) := p_source_52;
22344:
22345: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22346: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22347:
22348: ---------------------------------------------------------------------------------------------------------------
22349: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22350: ---------------------------------------------------------------------------------------------------------------
22345: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22346: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22347:
22348: ---------------------------------------------------------------------------------------------------------------
22349: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22350: ---------------------------------------------------------------------------------------------------------------
22351: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22352:
22353: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22347:
22348: ---------------------------------------------------------------------------------------------------------------
22349: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22350: ---------------------------------------------------------------------------------------------------------------
22351: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22352:
22353: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22354: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22355:
22349: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22350: ---------------------------------------------------------------------------------------------------------------
22351: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22352:
22353: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22354: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22355:
22356: IF xla_accounting_cache_pkg.GetValueChar
22357: (p_source_code => 'LEDGER_CATEGORY_CODE'
22350: ---------------------------------------------------------------------------------------------------------------
22351: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22352:
22353: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22354: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22355:
22356: IF xla_accounting_cache_pkg.GetValueChar
22357: (p_source_code => 'LEDGER_CATEGORY_CODE'
22358: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22361: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22362: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22363: )
22364: THEN
22365: xla_ae_lines_pkg.BflowUpgEntry
22366: (p_business_method_code => l_bflow_method_code
22367: ,p_business_class_code => l_bflow_class_code
22368: ,p_balance_type => l_balance_type_code);
22369: ELSE
22378: --
22379: -- call description
22380: --
22381:
22382: xla_ae_lines_pkg.SetLineDescription(
22383: p_ae_header_id => l_ae_header_id
22384: ,p_description => Description_2 (
22385: p_application_id => p_application_id
22386: , p_ae_header_id => l_ae_header_id
22411: , x_value_type_code => l_adr_value_type_code
22412: , p_side => 'NA'
22413: );
22414:
22415: xla_ae_lines_pkg.set_ccid(
22416: p_code_combination_id => l_ccid
22417: , p_value_type_code => l_adr_value_type_code
22418: , p_transaction_coa_id => l_adr_transaction_coa_id
22419: , p_accounting_coa_id => l_adr_accounting_coa_id
22443: );
22444:
22445: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22446:
22447: xla_ae_lines_pkg.set_segment(
22448: p_to_segment_code => 'GL_ACCOUNT'
22449: , p_segment_value => l_segment
22450: , p_from_segment_code => l_adr_value_segment_code
22451: , p_from_combination_id => l_adr_value_combination_id
22487: xla_accounting_err_pkg.build_message
22488: (p_appli_s_name => 'XLA'
22489: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22490: ,p_token_1 => 'LINE_NUMBER'
22491: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22492: ,p_token_2 => 'LINE_TYPE_NAME'
22493: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22494: l_component_type
22495: ,l_component_code
22523: --
22524: --
22525: ------------------------------------------------------------------------------------------------
22526: -- 4219869 Business Flow
22527: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22528: -- Prior Entry. Currently, the following code is always generated.
22529: ------------------------------------------------------------------------------------------------
22530: XLA_AE_LINES_PKG.ValidateCurrentLine;
22531:
22526: -- 4219869 Business Flow
22527: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22528: -- Prior Entry. Currently, the following code is always generated.
22529: ------------------------------------------------------------------------------------------------
22530: XLA_AE_LINES_PKG.ValidateCurrentLine;
22531:
22532: ------------------------------------------------------------------------------------
22533: -- 4219869 Business Flow
22534: -- Populated credit and debit amounts -- Need to generate this within IF
22532: ------------------------------------------------------------------------------------
22533: -- 4219869 Business Flow
22534: -- Populated credit and debit amounts -- Need to generate this within IF
22535: ------------------------------------------------------------------------------------
22536: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22537:
22538: ----------------------------------------------------------------------------------
22539: -- 4219869 Business Flow
22540: -- Update journal entry status -- Need to generate this within IF
22564: -- To allow MPA report to determine if it should generate report process
22565: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22566: ------------------------------------------------------------------------------------------
22567:
22568: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22569: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22570: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22571: -- call ADRs
22572: -- Bug 4922099
22565: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22566: ------------------------------------------------------------------------------------------
22567:
22568: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22569: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22570: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22571: -- call ADRs
22572: -- Bug 4922099
22573: --
22589: , x_value_type_code => l_adr_value_type_code
22590: , p_side => 'NA'
22591: );
22592:
22593: xla_ae_lines_pkg.set_ccid(
22594: p_code_combination_id => l_ccid
22595: , p_value_type_code => l_adr_value_type_code
22596: , p_transaction_coa_id => l_adr_transaction_coa_id
22597: , p_accounting_coa_id => l_adr_accounting_coa_id
22621: );
22622:
22623: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22624:
22625: xla_ae_lines_pkg.set_segment(
22626: p_to_segment_code => 'GL_ACCOUNT'
22627: , p_segment_value => l_segment
22628: , p_from_segment_code => l_adr_value_segment_code
22629: , p_from_combination_id => l_adr_value_combination_id
22652:
22653: --
22654: -- Update the line information that should be overwritten
22655: --
22656: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22657: p_header_num => 1);
22658: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22659:
22660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22654: -- Update the line information that should be overwritten
22655: --
22656: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22657: p_header_num => 1);
22658: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22659:
22660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22661:
22662: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22656: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22657: p_header_num => 1);
22658: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22659:
22660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22661:
22662: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22663: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22664: END IF;
22659:
22660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22661:
22662: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22663: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22664: END IF;
22665:
22666: --
22667: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22666: --
22667: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22668: --
22669: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22670: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22671: ELSE
22672: ---------------------------------------------------------------------------------------------------
22673: -- 4262811a Switch Sign
22674: ---------------------------------------------------------------------------------------------------
22671: ELSE
22672: ---------------------------------------------------------------------------------------------------
22673: -- 4262811a Switch Sign
22674: ---------------------------------------------------------------------------------------------------
22675: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22676: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22672: ---------------------------------------------------------------------------------------------------
22673: -- 4262811a Switch Sign
22674: ---------------------------------------------------------------------------------------------------
22675: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22676: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22673: -- 4262811a Switch Sign
22674: ---------------------------------------------------------------------------------------------------
22675: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22676: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22681: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22674: ---------------------------------------------------------------------------------------------------
22675: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22676: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22681: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22682: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22675: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22676: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22681: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22682: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22683:
22677: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22681: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22682: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22683:
22684: END IF;
22685:
22678: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680: -- 5132302
22681: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22682: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22683:
22684: END IF;
22685:
22686: -- 4955764
22683:
22684: END IF;
22685:
22686: -- 4955764
22687: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22688: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22689:
22690:
22691: XLA_AE_LINES_PKG.ValidateCurrentLine;
22687: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22688: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22689:
22690:
22691: XLA_AE_LINES_PKG.ValidateCurrentLine;
22692: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22693:
22694: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22695: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22688: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22689:
22690:
22691: XLA_AE_LINES_PKG.ValidateCurrentLine;
22692: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22693:
22694: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22695: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22696: ,p_balance_type_code => l_balance_type_code);
22897: --
22898: -- bulk performance
22899: --
22900: l_balance_type_code VARCHAR2(1);
22901: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22902: l_log_module VARCHAR2(240);
22903:
22904: --
22905: -- Upgrade strategy
22995: ') <> 'Y'
22996: THEN
22997:
22998: --
22999: XLA_AE_LINES_PKG.SetNewLine;
23000:
23001: p_balance_type_code := l_balance_type_code;
23002: -- set the flag so later we will know whether the gain loss line needs to be created
23003:
23007:
23008: --
23009: -- bulk performance
23010: --
23011: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23012: p_header_num => 0); -- 4262811
23013: --
23014: -- set accounting line options
23015: --
23012: p_header_num => 0); -- 4262811
23013: --
23014: -- set accounting line options
23015: --
23016: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23017: p_natural_side_code => 'C'
23018: , p_gain_or_loss_flag => 'N'
23019: , p_gl_transfer_mode_code => 'S'
23020: , p_acct_entry_type_code => 'A'
23026: --
23027: --
23028: -- set accounting line type info
23029: --
23030: xla_ae_lines_pkg.SetAcctLineType
23031: (p_component_type => l_component_type
23032: ,p_event_type_code => l_event_type_code
23033: ,p_line_definition_owner_code => l_line_definition_owner_code
23034: ,p_line_definition_code => l_line_definition_code
23040: ,p_event_class_code => l_event_class_code);
23041: --
23042: -- set accounting class
23043: --
23044: xla_ae_lines_pkg.SetAcctClass(
23045: p_accounting_class_code => 'ACCOUNTSPAYABLE'
23046: , p_ae_header_id => l_ae_header_id
23047: );
23048:
23048:
23049: --
23050: -- set rounding class
23051: --
23052: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23053: 'ACCOUNTSPAYABLE';
23054:
23055: --
23056: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23052: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23053: 'ACCOUNTSPAYABLE';
23054:
23055: --
23056: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23057: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23058: --
23059: -- bulk performance
23060: --
23053: 'ACCOUNTSPAYABLE';
23054:
23055: --
23056: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23057: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23058: --
23059: -- bulk performance
23060: --
23061: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23057: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23058: --
23059: -- bulk performance
23060: --
23061: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23062:
23063: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23064: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23065:
23059: -- bulk performance
23060: --
23061: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23062:
23063: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23064: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23065:
23066: -- 4955764
23067: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23063: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23064: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23065:
23066: -- 4955764
23067: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23068: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23069:
23070: -- 4458381 Public Sector Enh
23071:
23173: l_rec_acct_attrs.array_num_value(43) := p_source_51;
23174: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
23175: l_rec_acct_attrs.array_num_value(44) := p_source_52;
23176:
23177: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23178: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23179:
23180: ---------------------------------------------------------------------------------------------------------------
23181: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23174: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
23175: l_rec_acct_attrs.array_num_value(44) := p_source_52;
23176:
23177: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23178: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23179:
23180: ---------------------------------------------------------------------------------------------------------------
23181: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23182: ---------------------------------------------------------------------------------------------------------------
23177: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23178: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23179:
23180: ---------------------------------------------------------------------------------------------------------------
23181: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23182: ---------------------------------------------------------------------------------------------------------------
23183: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23184:
23185: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23179:
23180: ---------------------------------------------------------------------------------------------------------------
23181: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23182: ---------------------------------------------------------------------------------------------------------------
23183: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23184:
23185: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23186: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23187:
23181: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23182: ---------------------------------------------------------------------------------------------------------------
23183: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23184:
23185: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23186: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23187:
23188: IF xla_accounting_cache_pkg.GetValueChar
23189: (p_source_code => 'LEDGER_CATEGORY_CODE'
23182: ---------------------------------------------------------------------------------------------------------------
23183: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23184:
23185: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23186: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23187:
23188: IF xla_accounting_cache_pkg.GetValueChar
23189: (p_source_code => 'LEDGER_CATEGORY_CODE'
23190: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23193: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23194: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23195: )
23196: THEN
23197: xla_ae_lines_pkg.BflowUpgEntry
23198: (p_business_method_code => l_bflow_method_code
23199: ,p_business_class_code => l_bflow_class_code
23200: ,p_balance_type => l_balance_type_code);
23201: ELSE
23210: --
23211: -- call description
23212: --
23213:
23214: xla_ae_lines_pkg.SetLineDescription(
23215: p_ae_header_id => l_ae_header_id
23216: ,p_description => Description_2 (
23217: p_application_id => p_application_id
23218: , p_ae_header_id => l_ae_header_id
23243: , x_value_type_code => l_adr_value_type_code
23244: , p_side => 'NA'
23245: );
23246:
23247: xla_ae_lines_pkg.set_ccid(
23248: p_code_combination_id => l_ccid
23249: , p_value_type_code => l_adr_value_type_code
23250: , p_transaction_coa_id => l_adr_transaction_coa_id
23251: , p_accounting_coa_id => l_adr_accounting_coa_id
23276: );
23277:
23278: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
23279:
23280: xla_ae_lines_pkg.set_segment(
23281: p_to_segment_code => 'GL_ACCOUNT'
23282: , p_segment_value => l_segment
23283: , p_from_segment_code => l_adr_value_segment_code
23284: , p_from_combination_id => l_adr_value_combination_id
23320: xla_accounting_err_pkg.build_message
23321: (p_appli_s_name => 'XLA'
23322: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23323: ,p_token_1 => 'LINE_NUMBER'
23324: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23325: ,p_token_2 => 'LINE_TYPE_NAME'
23326: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23327: l_component_type
23328: ,l_component_code
23356: --
23357: --
23358: ------------------------------------------------------------------------------------------------
23359: -- 4219869 Business Flow
23360: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23361: -- Prior Entry. Currently, the following code is always generated.
23362: ------------------------------------------------------------------------------------------------
23363: XLA_AE_LINES_PKG.ValidateCurrentLine;
23364:
23359: -- 4219869 Business Flow
23360: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23361: -- Prior Entry. Currently, the following code is always generated.
23362: ------------------------------------------------------------------------------------------------
23363: XLA_AE_LINES_PKG.ValidateCurrentLine;
23364:
23365: ------------------------------------------------------------------------------------
23366: -- 4219869 Business Flow
23367: -- Populated credit and debit amounts -- Need to generate this within IF
23365: ------------------------------------------------------------------------------------
23366: -- 4219869 Business Flow
23367: -- Populated credit and debit amounts -- Need to generate this within IF
23368: ------------------------------------------------------------------------------------
23369: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23370:
23371: ----------------------------------------------------------------------------------
23372: -- 4219869 Business Flow
23373: -- Update journal entry status -- Need to generate this within IF
23397: -- To allow MPA report to determine if it should generate report process
23398: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23399: ------------------------------------------------------------------------------------------
23400:
23401: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23402: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23403: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23404: -- call ADRs
23405: -- Bug 4922099
23398: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23399: ------------------------------------------------------------------------------------------
23400:
23401: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23402: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23403: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23404: -- call ADRs
23405: -- Bug 4922099
23406: --
23422: , x_value_type_code => l_adr_value_type_code
23423: , p_side => 'NA'
23424: );
23425:
23426: xla_ae_lines_pkg.set_ccid(
23427: p_code_combination_id => l_ccid
23428: , p_value_type_code => l_adr_value_type_code
23429: , p_transaction_coa_id => l_adr_transaction_coa_id
23430: , p_accounting_coa_id => l_adr_accounting_coa_id
23455: );
23456:
23457: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
23458:
23459: xla_ae_lines_pkg.set_segment(
23460: p_to_segment_code => 'GL_ACCOUNT'
23461: , p_segment_value => l_segment
23462: , p_from_segment_code => l_adr_value_segment_code
23463: , p_from_combination_id => l_adr_value_combination_id
23486:
23487: --
23488: -- Update the line information that should be overwritten
23489: --
23490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23491: p_header_num => 1);
23492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23493:
23494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23488: -- Update the line information that should be overwritten
23489: --
23490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23491: p_header_num => 1);
23492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23493:
23494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23495:
23496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23490: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23491: p_header_num => 1);
23492: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23493:
23494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23495:
23496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23497: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23498: END IF;
23493:
23494: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23495:
23496: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23497: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23498: END IF;
23499:
23500: --
23501: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23500: --
23501: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23502: --
23503: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23504: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23505: ELSE
23506: ---------------------------------------------------------------------------------------------------
23507: -- 4262811a Switch Sign
23508: ---------------------------------------------------------------------------------------------------
23505: ELSE
23506: ---------------------------------------------------------------------------------------------------
23507: -- 4262811a Switch Sign
23508: ---------------------------------------------------------------------------------------------------
23509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23506: ---------------------------------------------------------------------------------------------------
23507: -- 4262811a Switch Sign
23508: ---------------------------------------------------------------------------------------------------
23509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23507: -- 4262811a Switch Sign
23508: ---------------------------------------------------------------------------------------------------
23509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23508: ---------------------------------------------------------------------------------------------------
23509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23509: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23510: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23517:
23511: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23517:
23518: END IF;
23519:
23512: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23513: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23514: -- 5132302
23515: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23516: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23517:
23518: END IF;
23519:
23520: -- 4955764
23517:
23518: END IF;
23519:
23520: -- 4955764
23521: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23523:
23524:
23525: XLA_AE_LINES_PKG.ValidateCurrentLine;
23521: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23523:
23524:
23525: XLA_AE_LINES_PKG.ValidateCurrentLine;
23526: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23527:
23528: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23529: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23522: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23523:
23524:
23525: XLA_AE_LINES_PKG.ValidateCurrentLine;
23526: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23527:
23528: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23529: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23530: ,p_balance_type_code => l_balance_type_code);
23729: --
23730: -- bulk performance
23731: --
23732: l_balance_type_code VARCHAR2(1);
23733: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23734: l_log_module VARCHAR2(240);
23735:
23736: --
23737: -- Upgrade strategy
23823: ') = 'Upward'
23824: THEN
23825:
23826: --
23827: XLA_AE_LINES_PKG.SetNewLine;
23828:
23829: p_balance_type_code := l_balance_type_code;
23830: -- set the flag so later we will know whether the gain loss line needs to be created
23831:
23835:
23836: --
23837: -- bulk performance
23838: --
23839: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23840: p_header_num => 0); -- 4262811
23841: --
23842: -- set accounting line options
23843: --
23840: p_header_num => 0); -- 4262811
23841: --
23842: -- set accounting line options
23843: --
23844: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23845: p_natural_side_code => 'C'
23846: , p_gain_or_loss_flag => 'N'
23847: , p_gl_transfer_mode_code => 'S'
23848: , p_acct_entry_type_code => 'A'
23854: --
23855: --
23856: -- set accounting line type info
23857: --
23858: xla_ae_lines_pkg.SetAcctLineType
23859: (p_component_type => l_component_type
23860: ,p_event_type_code => l_event_type_code
23861: ,p_line_definition_owner_code => l_line_definition_owner_code
23862: ,p_line_definition_code => l_line_definition_code
23868: ,p_event_class_code => l_event_class_code);
23869: --
23870: -- set accounting class
23871: --
23872: xla_ae_lines_pkg.SetAcctClass(
23873: p_accounting_class_code => 'ACCOUNTSPAYABLE'
23874: , p_ae_header_id => l_ae_header_id
23875: );
23876:
23876:
23877: --
23878: -- set rounding class
23879: --
23880: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23881: 'ACCOUNTSPAYABLE';
23882:
23883: --
23884: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23880: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23881: 'ACCOUNTSPAYABLE';
23882:
23883: --
23884: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23885: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23886: --
23887: -- bulk performance
23888: --
23881: 'ACCOUNTSPAYABLE';
23882:
23883: --
23884: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23885: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23886: --
23887: -- bulk performance
23888: --
23889: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23885: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23886: --
23887: -- bulk performance
23888: --
23889: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23890:
23891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23892: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23893:
23887: -- bulk performance
23888: --
23889: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23890:
23891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23892: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23893:
23894: -- 4955764
23895: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23891: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23892: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23893:
23894: -- 4955764
23895: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23896: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23897:
23898: -- 4458381 Public Sector Enh
23899:
24001: l_rec_acct_attrs.array_num_value(43) := p_source_51;
24002: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
24003: l_rec_acct_attrs.array_num_value(44) := p_source_52;
24004:
24005: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24006: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24007:
24008: ---------------------------------------------------------------------------------------------------------------
24009: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24002: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
24003: l_rec_acct_attrs.array_num_value(44) := p_source_52;
24004:
24005: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24006: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24007:
24008: ---------------------------------------------------------------------------------------------------------------
24009: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24010: ---------------------------------------------------------------------------------------------------------------
24005: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24006: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24007:
24008: ---------------------------------------------------------------------------------------------------------------
24009: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24010: ---------------------------------------------------------------------------------------------------------------
24011: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24012:
24013: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24007:
24008: ---------------------------------------------------------------------------------------------------------------
24009: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24010: ---------------------------------------------------------------------------------------------------------------
24011: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24012:
24013: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24014: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24015:
24009: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24010: ---------------------------------------------------------------------------------------------------------------
24011: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24012:
24013: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24014: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24015:
24016: IF xla_accounting_cache_pkg.GetValueChar
24017: (p_source_code => 'LEDGER_CATEGORY_CODE'
24010: ---------------------------------------------------------------------------------------------------------------
24011: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24012:
24013: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24014: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24015:
24016: IF xla_accounting_cache_pkg.GetValueChar
24017: (p_source_code => 'LEDGER_CATEGORY_CODE'
24018: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24021: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24022: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24023: )
24024: THEN
24025: xla_ae_lines_pkg.BflowUpgEntry
24026: (p_business_method_code => l_bflow_method_code
24027: ,p_business_class_code => l_bflow_class_code
24028: ,p_balance_type => l_balance_type_code);
24029: ELSE
24038: --
24039: -- call description
24040: --
24041:
24042: xla_ae_lines_pkg.SetLineDescription(
24043: p_ae_header_id => l_ae_header_id
24044: ,p_description => Description_2 (
24045: p_application_id => p_application_id
24046: , p_ae_header_id => l_ae_header_id
24071: , x_value_type_code => l_adr_value_type_code
24072: , p_side => 'NA'
24073: );
24074:
24075: xla_ae_lines_pkg.set_ccid(
24076: p_code_combination_id => l_ccid
24077: , p_value_type_code => l_adr_value_type_code
24078: , p_transaction_coa_id => l_adr_transaction_coa_id
24079: , p_accounting_coa_id => l_adr_accounting_coa_id
24106: );
24107:
24108: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24109:
24110: xla_ae_lines_pkg.set_segment(
24111: p_to_segment_code => 'GL_ACCOUNT'
24112: , p_segment_value => l_segment
24113: , p_from_segment_code => l_adr_value_segment_code
24114: , p_from_combination_id => l_adr_value_combination_id
24150: xla_accounting_err_pkg.build_message
24151: (p_appli_s_name => 'XLA'
24152: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24153: ,p_token_1 => 'LINE_NUMBER'
24154: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24155: ,p_token_2 => 'LINE_TYPE_NAME'
24156: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24157: l_component_type
24158: ,l_component_code
24186: --
24187: --
24188: ------------------------------------------------------------------------------------------------
24189: -- 4219869 Business Flow
24190: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24191: -- Prior Entry. Currently, the following code is always generated.
24192: ------------------------------------------------------------------------------------------------
24193: XLA_AE_LINES_PKG.ValidateCurrentLine;
24194:
24189: -- 4219869 Business Flow
24190: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24191: -- Prior Entry. Currently, the following code is always generated.
24192: ------------------------------------------------------------------------------------------------
24193: XLA_AE_LINES_PKG.ValidateCurrentLine;
24194:
24195: ------------------------------------------------------------------------------------
24196: -- 4219869 Business Flow
24197: -- Populated credit and debit amounts -- Need to generate this within IF
24195: ------------------------------------------------------------------------------------
24196: -- 4219869 Business Flow
24197: -- Populated credit and debit amounts -- Need to generate this within IF
24198: ------------------------------------------------------------------------------------
24199: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24200:
24201: ----------------------------------------------------------------------------------
24202: -- 4219869 Business Flow
24203: -- Update journal entry status -- Need to generate this within IF
24227: -- To allow MPA report to determine if it should generate report process
24228: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24229: ------------------------------------------------------------------------------------------
24230:
24231: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24232: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24233: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24234: -- call ADRs
24235: -- Bug 4922099
24228: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24229: ------------------------------------------------------------------------------------------
24230:
24231: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24232: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24233: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24234: -- call ADRs
24235: -- Bug 4922099
24236: --
24252: , x_value_type_code => l_adr_value_type_code
24253: , p_side => 'NA'
24254: );
24255:
24256: xla_ae_lines_pkg.set_ccid(
24257: p_code_combination_id => l_ccid
24258: , p_value_type_code => l_adr_value_type_code
24259: , p_transaction_coa_id => l_adr_transaction_coa_id
24260: , p_accounting_coa_id => l_adr_accounting_coa_id
24287: );
24288:
24289: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24290:
24291: xla_ae_lines_pkg.set_segment(
24292: p_to_segment_code => 'GL_ACCOUNT'
24293: , p_segment_value => l_segment
24294: , p_from_segment_code => l_adr_value_segment_code
24295: , p_from_combination_id => l_adr_value_combination_id
24318:
24319: --
24320: -- Update the line information that should be overwritten
24321: --
24322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24323: p_header_num => 1);
24324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24325:
24326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24320: -- Update the line information that should be overwritten
24321: --
24322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24323: p_header_num => 1);
24324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24325:
24326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24327:
24328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24323: p_header_num => 1);
24324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24325:
24326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24327:
24328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24329: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24330: END IF;
24325:
24326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24327:
24328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24329: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24330: END IF;
24331:
24332: --
24333: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24332: --
24333: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24334: --
24335: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24336: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24337: ELSE
24338: ---------------------------------------------------------------------------------------------------
24339: -- 4262811a Switch Sign
24340: ---------------------------------------------------------------------------------------------------
24337: ELSE
24338: ---------------------------------------------------------------------------------------------------
24339: -- 4262811a Switch Sign
24340: ---------------------------------------------------------------------------------------------------
24341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24338: ---------------------------------------------------------------------------------------------------
24339: -- 4262811a Switch Sign
24340: ---------------------------------------------------------------------------------------------------
24341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24339: -- 4262811a Switch Sign
24340: ---------------------------------------------------------------------------------------------------
24341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24340: ---------------------------------------------------------------------------------------------------
24341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24349:
24343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24349:
24350: END IF;
24351:
24344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24346: -- 5132302
24347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24349:
24350: END IF;
24351:
24352: -- 4955764
24349:
24350: END IF;
24351:
24352: -- 4955764
24353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24355:
24356:
24357: XLA_AE_LINES_PKG.ValidateCurrentLine;
24353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24355:
24356:
24357: XLA_AE_LINES_PKG.ValidateCurrentLine;
24358: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24359:
24360: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24361: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24355:
24356:
24357: XLA_AE_LINES_PKG.ValidateCurrentLine;
24358: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24359:
24360: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24361: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24362: ,p_balance_type_code => l_balance_type_code);
24564: --
24565: -- bulk performance
24566: --
24567: l_balance_type_code VARCHAR2(1);
24568: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24569: l_log_module VARCHAR2(240);
24570:
24571: --
24572: -- Upgrade strategy
24658: ') = 'Upward'
24659: THEN
24660:
24661: --
24662: XLA_AE_LINES_PKG.SetNewLine;
24663:
24664: p_balance_type_code := l_balance_type_code;
24665: -- set the flag so later we will know whether the gain loss line needs to be created
24666:
24670:
24671: --
24672: -- bulk performance
24673: --
24674: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24675: p_header_num => 0); -- 4262811
24676: --
24677: -- set accounting line options
24678: --
24675: p_header_num => 0); -- 4262811
24676: --
24677: -- set accounting line options
24678: --
24679: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24680: p_natural_side_code => 'D'
24681: , p_gain_or_loss_flag => 'N'
24682: , p_gl_transfer_mode_code => 'S'
24683: , p_acct_entry_type_code => 'A'
24689: --
24690: --
24691: -- set accounting line type info
24692: --
24693: xla_ae_lines_pkg.SetAcctLineType
24694: (p_component_type => l_component_type
24695: ,p_event_type_code => l_event_type_code
24696: ,p_line_definition_owner_code => l_line_definition_owner_code
24697: ,p_line_definition_code => l_line_definition_code
24703: ,p_event_class_code => l_event_class_code);
24704: --
24705: -- set accounting class
24706: --
24707: xla_ae_lines_pkg.SetAcctClass(
24708: p_accounting_class_code => 'ACCOUNTSPAYABLE'
24709: , p_ae_header_id => l_ae_header_id
24710: );
24711:
24711:
24712: --
24713: -- set rounding class
24714: --
24715: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24716: 'ACCOUNTSPAYABLE';
24717:
24718: --
24719: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24715: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24716: 'ACCOUNTSPAYABLE';
24717:
24718: --
24719: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24720: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24721: --
24722: -- bulk performance
24723: --
24716: 'ACCOUNTSPAYABLE';
24717:
24718: --
24719: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24720: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24721: --
24722: -- bulk performance
24723: --
24724: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24720: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24721: --
24722: -- bulk performance
24723: --
24724: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24725:
24726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24727: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24728:
24722: -- bulk performance
24723: --
24724: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24725:
24726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24727: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24728:
24729: -- 4955764
24730: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24727: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24728:
24729: -- 4955764
24730: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24731: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24732:
24733: -- 4458381 Public Sector Enh
24734:
24836: l_rec_acct_attrs.array_num_value(43) := p_source_51;
24837: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
24838: l_rec_acct_attrs.array_num_value(44) := p_source_52;
24839:
24840: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24841: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24842:
24843: ---------------------------------------------------------------------------------------------------------------
24844: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24837: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
24838: l_rec_acct_attrs.array_num_value(44) := p_source_52;
24839:
24840: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24841: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24842:
24843: ---------------------------------------------------------------------------------------------------------------
24844: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24845: ---------------------------------------------------------------------------------------------------------------
24840: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24841: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24842:
24843: ---------------------------------------------------------------------------------------------------------------
24844: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24845: ---------------------------------------------------------------------------------------------------------------
24846: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24847:
24848: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24842:
24843: ---------------------------------------------------------------------------------------------------------------
24844: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24845: ---------------------------------------------------------------------------------------------------------------
24846: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24847:
24848: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24849: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24850:
24844: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24845: ---------------------------------------------------------------------------------------------------------------
24846: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24847:
24848: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24849: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24850:
24851: IF xla_accounting_cache_pkg.GetValueChar
24852: (p_source_code => 'LEDGER_CATEGORY_CODE'
24845: ---------------------------------------------------------------------------------------------------------------
24846: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24847:
24848: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24849: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24850:
24851: IF xla_accounting_cache_pkg.GetValueChar
24852: (p_source_code => 'LEDGER_CATEGORY_CODE'
24853: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24856: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24857: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24858: )
24859: THEN
24860: xla_ae_lines_pkg.BflowUpgEntry
24861: (p_business_method_code => l_bflow_method_code
24862: ,p_business_class_code => l_bflow_class_code
24863: ,p_balance_type => l_balance_type_code);
24864: ELSE
24873: --
24874: -- call description
24875: --
24876:
24877: xla_ae_lines_pkg.SetLineDescription(
24878: p_ae_header_id => l_ae_header_id
24879: ,p_description => Description_2 (
24880: p_application_id => p_application_id
24881: , p_ae_header_id => l_ae_header_id
24906: , x_value_type_code => l_adr_value_type_code
24907: , p_side => 'NA'
24908: );
24909:
24910: xla_ae_lines_pkg.set_ccid(
24911: p_code_combination_id => l_ccid
24912: , p_value_type_code => l_adr_value_type_code
24913: , p_transaction_coa_id => l_adr_transaction_coa_id
24914: , p_accounting_coa_id => l_adr_accounting_coa_id
24941: );
24942:
24943: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24944:
24945: xla_ae_lines_pkg.set_segment(
24946: p_to_segment_code => 'GL_ACCOUNT'
24947: , p_segment_value => l_segment
24948: , p_from_segment_code => l_adr_value_segment_code
24949: , p_from_combination_id => l_adr_value_combination_id
24985: xla_accounting_err_pkg.build_message
24986: (p_appli_s_name => 'XLA'
24987: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24988: ,p_token_1 => 'LINE_NUMBER'
24989: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24990: ,p_token_2 => 'LINE_TYPE_NAME'
24991: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24992: l_component_type
24993: ,l_component_code
25021: --
25022: --
25023: ------------------------------------------------------------------------------------------------
25024: -- 4219869 Business Flow
25025: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25026: -- Prior Entry. Currently, the following code is always generated.
25027: ------------------------------------------------------------------------------------------------
25028: XLA_AE_LINES_PKG.ValidateCurrentLine;
25029:
25024: -- 4219869 Business Flow
25025: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25026: -- Prior Entry. Currently, the following code is always generated.
25027: ------------------------------------------------------------------------------------------------
25028: XLA_AE_LINES_PKG.ValidateCurrentLine;
25029:
25030: ------------------------------------------------------------------------------------
25031: -- 4219869 Business Flow
25032: -- Populated credit and debit amounts -- Need to generate this within IF
25030: ------------------------------------------------------------------------------------
25031: -- 4219869 Business Flow
25032: -- Populated credit and debit amounts -- Need to generate this within IF
25033: ------------------------------------------------------------------------------------
25034: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25035:
25036: ----------------------------------------------------------------------------------
25037: -- 4219869 Business Flow
25038: -- Update journal entry status -- Need to generate this within IF
25062: -- To allow MPA report to determine if it should generate report process
25063: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25064: ------------------------------------------------------------------------------------------
25065:
25066: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25067: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25068: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25069: -- call ADRs
25070: -- Bug 4922099
25063: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25064: ------------------------------------------------------------------------------------------
25065:
25066: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25067: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25068: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25069: -- call ADRs
25070: -- Bug 4922099
25071: --
25087: , x_value_type_code => l_adr_value_type_code
25088: , p_side => 'NA'
25089: );
25090:
25091: xla_ae_lines_pkg.set_ccid(
25092: p_code_combination_id => l_ccid
25093: , p_value_type_code => l_adr_value_type_code
25094: , p_transaction_coa_id => l_adr_transaction_coa_id
25095: , p_accounting_coa_id => l_adr_accounting_coa_id
25122: );
25123:
25124: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25125:
25126: xla_ae_lines_pkg.set_segment(
25127: p_to_segment_code => 'GL_ACCOUNT'
25128: , p_segment_value => l_segment
25129: , p_from_segment_code => l_adr_value_segment_code
25130: , p_from_combination_id => l_adr_value_combination_id
25153:
25154: --
25155: -- Update the line information that should be overwritten
25156: --
25157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25158: p_header_num => 1);
25159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25160:
25161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25155: -- Update the line information that should be overwritten
25156: --
25157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25158: p_header_num => 1);
25159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25160:
25161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25162:
25163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25158: p_header_num => 1);
25159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25160:
25161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25162:
25163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25165: END IF;
25160:
25161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25162:
25163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25165: END IF;
25166:
25167: --
25168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25167: --
25168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25169: --
25170: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25171: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25172: ELSE
25173: ---------------------------------------------------------------------------------------------------
25174: -- 4262811a Switch Sign
25175: ---------------------------------------------------------------------------------------------------
25172: ELSE
25173: ---------------------------------------------------------------------------------------------------
25174: -- 4262811a Switch Sign
25175: ---------------------------------------------------------------------------------------------------
25176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25173: ---------------------------------------------------------------------------------------------------
25174: -- 4262811a Switch Sign
25175: ---------------------------------------------------------------------------------------------------
25176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25174: -- 4262811a Switch Sign
25175: ---------------------------------------------------------------------------------------------------
25176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25175: ---------------------------------------------------------------------------------------------------
25176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25184:
25178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25184:
25185: END IF;
25186:
25179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25181: -- 5132302
25182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25184:
25185: END IF;
25186:
25187: -- 4955764
25184:
25185: END IF;
25186:
25187: -- 4955764
25188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25190:
25191:
25192: XLA_AE_LINES_PKG.ValidateCurrentLine;
25188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25190:
25191:
25192: XLA_AE_LINES_PKG.ValidateCurrentLine;
25193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25194:
25195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25190:
25191:
25192: XLA_AE_LINES_PKG.ValidateCurrentLine;
25193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25194:
25195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25197: ,p_balance_type_code => l_balance_type_code);
25395: --
25396: -- bulk performance
25397: --
25398: l_balance_type_code VARCHAR2(1);
25399: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25400: l_log_module VARCHAR2(240);
25401:
25402: --
25403: -- Upgrade strategy
25466: ') = 'Y'
25467: THEN
25468:
25469: --
25470: XLA_AE_LINES_PKG.SetNewLine;
25471:
25472: p_balance_type_code := l_balance_type_code;
25473: -- set the flag so later we will know whether the gain loss line needs to be created
25474:
25478:
25479: --
25480: -- bulk performance
25481: --
25482: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25483: p_header_num => 0); -- 4262811
25484: --
25485: -- set accounting line options
25486: --
25483: p_header_num => 0); -- 4262811
25484: --
25485: -- set accounting line options
25486: --
25487: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25488: p_natural_side_code => 'C'
25489: , p_gain_or_loss_flag => 'N'
25490: , p_gl_transfer_mode_code => 'S'
25491: , p_acct_entry_type_code => 'A'
25497: --
25498: --
25499: -- set accounting line type info
25500: --
25501: xla_ae_lines_pkg.SetAcctLineType
25502: (p_component_type => l_component_type
25503: ,p_event_type_code => l_event_type_code
25504: ,p_line_definition_owner_code => l_line_definition_owner_code
25505: ,p_line_definition_code => l_line_definition_code
25511: ,p_event_class_code => l_event_class_code);
25512: --
25513: -- set accounting class
25514: --
25515: xla_ae_lines_pkg.SetAcctClass(
25516: p_accounting_class_code => 'ACCOUNTSPAYABLE'
25517: , p_ae_header_id => l_ae_header_id
25518: );
25519:
25519:
25520: --
25521: -- set rounding class
25522: --
25523: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25524: 'ACCOUNTSPAYABLE';
25525:
25526: --
25527: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25523: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25524: 'ACCOUNTSPAYABLE';
25525:
25526: --
25527: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25528: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25529: --
25530: -- bulk performance
25531: --
25524: 'ACCOUNTSPAYABLE';
25525:
25526: --
25527: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25528: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25529: --
25530: -- bulk performance
25531: --
25532: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25528: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25529: --
25530: -- bulk performance
25531: --
25532: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25533:
25534: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25535: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25536:
25530: -- bulk performance
25531: --
25532: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25533:
25534: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25535: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25536:
25537: -- 4955764
25538: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25534: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25535: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25536:
25537: -- 4955764
25538: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25539: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25540:
25541: -- 4458381 Public Sector Enh
25542:
25644: l_rec_acct_attrs.array_num_value(43) := p_source_51;
25645: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
25646: l_rec_acct_attrs.array_num_value(44) := p_source_52;
25647:
25648: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25649: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25650:
25651: ---------------------------------------------------------------------------------------------------------------
25652: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25645: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
25646: l_rec_acct_attrs.array_num_value(44) := p_source_52;
25647:
25648: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25649: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25650:
25651: ---------------------------------------------------------------------------------------------------------------
25652: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25653: ---------------------------------------------------------------------------------------------------------------
25648: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25649: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25650:
25651: ---------------------------------------------------------------------------------------------------------------
25652: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25653: ---------------------------------------------------------------------------------------------------------------
25654: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25655:
25656: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25650:
25651: ---------------------------------------------------------------------------------------------------------------
25652: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25653: ---------------------------------------------------------------------------------------------------------------
25654: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25655:
25656: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25657: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25658:
25652: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25653: ---------------------------------------------------------------------------------------------------------------
25654: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25655:
25656: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25657: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25658:
25659: IF xla_accounting_cache_pkg.GetValueChar
25660: (p_source_code => 'LEDGER_CATEGORY_CODE'
25653: ---------------------------------------------------------------------------------------------------------------
25654: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25655:
25656: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25657: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25658:
25659: IF xla_accounting_cache_pkg.GetValueChar
25660: (p_source_code => 'LEDGER_CATEGORY_CODE'
25661: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25664: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25665: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25666: )
25667: THEN
25668: xla_ae_lines_pkg.BflowUpgEntry
25669: (p_business_method_code => l_bflow_method_code
25670: ,p_business_class_code => l_bflow_class_code
25671: ,p_balance_type => l_balance_type_code);
25672: ELSE
25681: --
25682: -- call description
25683: --
25684:
25685: xla_ae_lines_pkg.SetLineDescription(
25686: p_ae_header_id => l_ae_header_id
25687: ,p_description => Description_2 (
25688: p_application_id => p_application_id
25689: , p_ae_header_id => l_ae_header_id
25714: , x_value_type_code => l_adr_value_type_code
25715: , p_side => 'NA'
25716: );
25717:
25718: xla_ae_lines_pkg.set_ccid(
25719: p_code_combination_id => l_ccid
25720: , p_value_type_code => l_adr_value_type_code
25721: , p_transaction_coa_id => l_adr_transaction_coa_id
25722: , p_accounting_coa_id => l_adr_accounting_coa_id
25749: );
25750:
25751: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25752:
25753: xla_ae_lines_pkg.set_segment(
25754: p_to_segment_code => 'GL_ACCOUNT'
25755: , p_segment_value => l_segment
25756: , p_from_segment_code => l_adr_value_segment_code
25757: , p_from_combination_id => l_adr_value_combination_id
25793: xla_accounting_err_pkg.build_message
25794: (p_appli_s_name => 'XLA'
25795: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25796: ,p_token_1 => 'LINE_NUMBER'
25797: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25798: ,p_token_2 => 'LINE_TYPE_NAME'
25799: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25800: l_component_type
25801: ,l_component_code
25829: --
25830: --
25831: ------------------------------------------------------------------------------------------------
25832: -- 4219869 Business Flow
25833: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25834: -- Prior Entry. Currently, the following code is always generated.
25835: ------------------------------------------------------------------------------------------------
25836: XLA_AE_LINES_PKG.ValidateCurrentLine;
25837:
25832: -- 4219869 Business Flow
25833: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25834: -- Prior Entry. Currently, the following code is always generated.
25835: ------------------------------------------------------------------------------------------------
25836: XLA_AE_LINES_PKG.ValidateCurrentLine;
25837:
25838: ------------------------------------------------------------------------------------
25839: -- 4219869 Business Flow
25840: -- Populated credit and debit amounts -- Need to generate this within IF
25838: ------------------------------------------------------------------------------------
25839: -- 4219869 Business Flow
25840: -- Populated credit and debit amounts -- Need to generate this within IF
25841: ------------------------------------------------------------------------------------
25842: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25843:
25844: ----------------------------------------------------------------------------------
25845: -- 4219869 Business Flow
25846: -- Update journal entry status -- Need to generate this within IF
25870: -- To allow MPA report to determine if it should generate report process
25871: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25872: ------------------------------------------------------------------------------------------
25873:
25874: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25875: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25876: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25877: -- call ADRs
25878: -- Bug 4922099
25871: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25872: ------------------------------------------------------------------------------------------
25873:
25874: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25875: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25876: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25877: -- call ADRs
25878: -- Bug 4922099
25879: --
25895: , x_value_type_code => l_adr_value_type_code
25896: , p_side => 'NA'
25897: );
25898:
25899: xla_ae_lines_pkg.set_ccid(
25900: p_code_combination_id => l_ccid
25901: , p_value_type_code => l_adr_value_type_code
25902: , p_transaction_coa_id => l_adr_transaction_coa_id
25903: , p_accounting_coa_id => l_adr_accounting_coa_id
25930: );
25931:
25932: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25933:
25934: xla_ae_lines_pkg.set_segment(
25935: p_to_segment_code => 'GL_ACCOUNT'
25936: , p_segment_value => l_segment
25937: , p_from_segment_code => l_adr_value_segment_code
25938: , p_from_combination_id => l_adr_value_combination_id
25961:
25962: --
25963: -- Update the line information that should be overwritten
25964: --
25965: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25966: p_header_num => 1);
25967: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25968:
25969: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25963: -- Update the line information that should be overwritten
25964: --
25965: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25966: p_header_num => 1);
25967: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25968:
25969: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25970:
25971: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25965: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25966: p_header_num => 1);
25967: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25968:
25969: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25970:
25971: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25972: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25973: END IF;
25968:
25969: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25970:
25971: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25972: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25973: END IF;
25974:
25975: --
25976: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25975: --
25976: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25977: --
25978: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25979: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25980: ELSE
25981: ---------------------------------------------------------------------------------------------------
25982: -- 4262811a Switch Sign
25983: ---------------------------------------------------------------------------------------------------
25980: ELSE
25981: ---------------------------------------------------------------------------------------------------
25982: -- 4262811a Switch Sign
25983: ---------------------------------------------------------------------------------------------------
25984: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25985: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25981: ---------------------------------------------------------------------------------------------------
25982: -- 4262811a Switch Sign
25983: ---------------------------------------------------------------------------------------------------
25984: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25985: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25982: -- 4262811a Switch Sign
25983: ---------------------------------------------------------------------------------------------------
25984: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25985: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25990: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25983: ---------------------------------------------------------------------------------------------------
25984: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25985: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25990: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25984: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25985: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25990: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25992:
25986: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25990: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25992:
25993: END IF;
25994:
25987: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25988: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25989: -- 5132302
25990: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25991: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25992:
25993: END IF;
25994:
25995: -- 4955764
25992:
25993: END IF;
25994:
25995: -- 4955764
25996: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25997: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25998:
25999:
26000: XLA_AE_LINES_PKG.ValidateCurrentLine;
25996: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25997: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25998:
25999:
26000: XLA_AE_LINES_PKG.ValidateCurrentLine;
26001: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26002:
26003: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26004: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25997: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25998:
25999:
26000: XLA_AE_LINES_PKG.ValidateCurrentLine;
26001: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26002:
26003: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26004: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26005: ,p_balance_type_code => l_balance_type_code);
26197: --
26198: -- bulk performance
26199: --
26200: l_balance_type_code VARCHAR2(1);
26201: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26202: l_log_module VARCHAR2(240);
26203:
26204: --
26205: -- Upgrade strategy
26268: ') = 'Y'
26269: THEN
26270:
26271: --
26272: XLA_AE_LINES_PKG.SetNewLine;
26273:
26274: p_balance_type_code := l_balance_type_code;
26275: -- set the flag so later we will know whether the gain loss line needs to be created
26276:
26280:
26281: --
26282: -- bulk performance
26283: --
26284: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26285: p_header_num => 0); -- 4262811
26286: --
26287: -- set accounting line options
26288: --
26285: p_header_num => 0); -- 4262811
26286: --
26287: -- set accounting line options
26288: --
26289: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26290: p_natural_side_code => 'D'
26291: , p_gain_or_loss_flag => 'N'
26292: , p_gl_transfer_mode_code => 'S'
26293: , p_acct_entry_type_code => 'A'
26299: --
26300: --
26301: -- set accounting line type info
26302: --
26303: xla_ae_lines_pkg.SetAcctLineType
26304: (p_component_type => l_component_type
26305: ,p_event_type_code => l_event_type_code
26306: ,p_line_definition_owner_code => l_line_definition_owner_code
26307: ,p_line_definition_code => l_line_definition_code
26313: ,p_event_class_code => l_event_class_code);
26314: --
26315: -- set accounting class
26316: --
26317: xla_ae_lines_pkg.SetAcctClass(
26318: p_accounting_class_code => 'ACCOUNTSPAYABLE'
26319: , p_ae_header_id => l_ae_header_id
26320: );
26321:
26321:
26322: --
26323: -- set rounding class
26324: --
26325: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26326: 'ACCOUNTSPAYABLE';
26327:
26328: --
26329: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26325: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26326: 'ACCOUNTSPAYABLE';
26327:
26328: --
26329: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26330: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26331: --
26332: -- bulk performance
26333: --
26326: 'ACCOUNTSPAYABLE';
26327:
26328: --
26329: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26330: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26331: --
26332: -- bulk performance
26333: --
26334: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26330: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26331: --
26332: -- bulk performance
26333: --
26334: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26335:
26336: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26337: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26338:
26332: -- bulk performance
26333: --
26334: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26335:
26336: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26337: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26338:
26339: -- 4955764
26340: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26336: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26337: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26338:
26339: -- 4955764
26340: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26341: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26342:
26343: -- 4458381 Public Sector Enh
26344:
26446: l_rec_acct_attrs.array_num_value(43) := p_source_51;
26447: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
26448: l_rec_acct_attrs.array_num_value(44) := p_source_52;
26449:
26450: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26451: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26452:
26453: ---------------------------------------------------------------------------------------------------------------
26454: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26447: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
26448: l_rec_acct_attrs.array_num_value(44) := p_source_52;
26449:
26450: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26451: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26452:
26453: ---------------------------------------------------------------------------------------------------------------
26454: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26455: ---------------------------------------------------------------------------------------------------------------
26450: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26451: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26452:
26453: ---------------------------------------------------------------------------------------------------------------
26454: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26455: ---------------------------------------------------------------------------------------------------------------
26456: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26457:
26458: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26452:
26453: ---------------------------------------------------------------------------------------------------------------
26454: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26455: ---------------------------------------------------------------------------------------------------------------
26456: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26457:
26458: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26459: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26460:
26454: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26455: ---------------------------------------------------------------------------------------------------------------
26456: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26457:
26458: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26459: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26460:
26461: IF xla_accounting_cache_pkg.GetValueChar
26462: (p_source_code => 'LEDGER_CATEGORY_CODE'
26455: ---------------------------------------------------------------------------------------------------------------
26456: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26457:
26458: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26459: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26460:
26461: IF xla_accounting_cache_pkg.GetValueChar
26462: (p_source_code => 'LEDGER_CATEGORY_CODE'
26463: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26466: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26467: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26468: )
26469: THEN
26470: xla_ae_lines_pkg.BflowUpgEntry
26471: (p_business_method_code => l_bflow_method_code
26472: ,p_business_class_code => l_bflow_class_code
26473: ,p_balance_type => l_balance_type_code);
26474: ELSE
26483: --
26484: -- call description
26485: --
26486:
26487: xla_ae_lines_pkg.SetLineDescription(
26488: p_ae_header_id => l_ae_header_id
26489: ,p_description => Description_2 (
26490: p_application_id => p_application_id
26491: , p_ae_header_id => l_ae_header_id
26516: , x_value_type_code => l_adr_value_type_code
26517: , p_side => 'NA'
26518: );
26519:
26520: xla_ae_lines_pkg.set_ccid(
26521: p_code_combination_id => l_ccid
26522: , p_value_type_code => l_adr_value_type_code
26523: , p_transaction_coa_id => l_adr_transaction_coa_id
26524: , p_accounting_coa_id => l_adr_accounting_coa_id
26548: );
26549:
26550: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26551:
26552: xla_ae_lines_pkg.set_segment(
26553: p_to_segment_code => 'GL_ACCOUNT'
26554: , p_segment_value => l_segment
26555: , p_from_segment_code => l_adr_value_segment_code
26556: , p_from_combination_id => l_adr_value_combination_id
26592: xla_accounting_err_pkg.build_message
26593: (p_appli_s_name => 'XLA'
26594: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26595: ,p_token_1 => 'LINE_NUMBER'
26596: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26597: ,p_token_2 => 'LINE_TYPE_NAME'
26598: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26599: l_component_type
26600: ,l_component_code
26628: --
26629: --
26630: ------------------------------------------------------------------------------------------------
26631: -- 4219869 Business Flow
26632: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26633: -- Prior Entry. Currently, the following code is always generated.
26634: ------------------------------------------------------------------------------------------------
26635: XLA_AE_LINES_PKG.ValidateCurrentLine;
26636:
26631: -- 4219869 Business Flow
26632: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26633: -- Prior Entry. Currently, the following code is always generated.
26634: ------------------------------------------------------------------------------------------------
26635: XLA_AE_LINES_PKG.ValidateCurrentLine;
26636:
26637: ------------------------------------------------------------------------------------
26638: -- 4219869 Business Flow
26639: -- Populated credit and debit amounts -- Need to generate this within IF
26637: ------------------------------------------------------------------------------------
26638: -- 4219869 Business Flow
26639: -- Populated credit and debit amounts -- Need to generate this within IF
26640: ------------------------------------------------------------------------------------
26641: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26642:
26643: ----------------------------------------------------------------------------------
26644: -- 4219869 Business Flow
26645: -- Update journal entry status -- Need to generate this within IF
26669: -- To allow MPA report to determine if it should generate report process
26670: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26671: ------------------------------------------------------------------------------------------
26672:
26673: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26674: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26675: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26676: -- call ADRs
26677: -- Bug 4922099
26670: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26671: ------------------------------------------------------------------------------------------
26672:
26673: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26674: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26675: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26676: -- call ADRs
26677: -- Bug 4922099
26678: --
26694: , x_value_type_code => l_adr_value_type_code
26695: , p_side => 'NA'
26696: );
26697:
26698: xla_ae_lines_pkg.set_ccid(
26699: p_code_combination_id => l_ccid
26700: , p_value_type_code => l_adr_value_type_code
26701: , p_transaction_coa_id => l_adr_transaction_coa_id
26702: , p_accounting_coa_id => l_adr_accounting_coa_id
26726: );
26727:
26728: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26729:
26730: xla_ae_lines_pkg.set_segment(
26731: p_to_segment_code => 'GL_ACCOUNT'
26732: , p_segment_value => l_segment
26733: , p_from_segment_code => l_adr_value_segment_code
26734: , p_from_combination_id => l_adr_value_combination_id
26757:
26758: --
26759: -- Update the line information that should be overwritten
26760: --
26761: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26762: p_header_num => 1);
26763: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26764:
26765: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26759: -- Update the line information that should be overwritten
26760: --
26761: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26762: p_header_num => 1);
26763: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26764:
26765: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26766:
26767: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26761: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26762: p_header_num => 1);
26763: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26764:
26765: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26766:
26767: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26768: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26769: END IF;
26764:
26765: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26766:
26767: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26768: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26769: END IF;
26770:
26771: --
26772: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26771: --
26772: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26773: --
26774: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26775: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26776: ELSE
26777: ---------------------------------------------------------------------------------------------------
26778: -- 4262811a Switch Sign
26779: ---------------------------------------------------------------------------------------------------
26776: ELSE
26777: ---------------------------------------------------------------------------------------------------
26778: -- 4262811a Switch Sign
26779: ---------------------------------------------------------------------------------------------------
26780: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26781: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26777: ---------------------------------------------------------------------------------------------------
26778: -- 4262811a Switch Sign
26779: ---------------------------------------------------------------------------------------------------
26780: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26781: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26778: -- 4262811a Switch Sign
26779: ---------------------------------------------------------------------------------------------------
26780: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26781: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26786: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26779: ---------------------------------------------------------------------------------------------------
26780: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26781: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26786: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26787: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26780: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26781: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26786: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26787: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26788:
26782: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26786: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26787: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26788:
26789: END IF;
26790:
26783: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26784: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26785: -- 5132302
26786: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26787: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26788:
26789: END IF;
26790:
26791: -- 4955764
26788:
26789: END IF;
26790:
26791: -- 4955764
26792: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26793: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26794:
26795:
26796: XLA_AE_LINES_PKG.ValidateCurrentLine;
26792: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26793: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26794:
26795:
26796: XLA_AE_LINES_PKG.ValidateCurrentLine;
26797: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26798:
26799: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26800: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26793: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26794:
26795:
26796: XLA_AE_LINES_PKG.ValidateCurrentLine;
26797: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26798:
26799: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26800: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26801: ,p_balance_type_code => l_balance_type_code);
26987: --
26988: -- bulk performance
26989: --
26990: l_balance_type_code VARCHAR2(1);
26991: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26992: l_log_module VARCHAR2(240);
26993:
26994: --
26995: -- Upgrade strategy
27055: ') = 'Direct'
27056: THEN
27057:
27058: --
27059: XLA_AE_LINES_PKG.SetNewLine;
27060:
27061: p_balance_type_code := l_balance_type_code;
27062: -- set the flag so later we will know whether the gain loss line needs to be created
27063:
27067:
27068: --
27069: -- bulk performance
27070: --
27071: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27072: p_header_num => 0); -- 4262811
27073: --
27074: -- set accounting line options
27075: --
27072: p_header_num => 0); -- 4262811
27073: --
27074: -- set accounting line options
27075: --
27076: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27077: p_natural_side_code => 'C'
27078: , p_gain_or_loss_flag => 'N'
27079: , p_gl_transfer_mode_code => 'S'
27080: , p_acct_entry_type_code => 'A'
27086: --
27087: --
27088: -- set accounting line type info
27089: --
27090: xla_ae_lines_pkg.SetAcctLineType
27091: (p_component_type => l_component_type
27092: ,p_event_type_code => l_event_type_code
27093: ,p_line_definition_owner_code => l_line_definition_owner_code
27094: ,p_line_definition_code => l_line_definition_code
27100: ,p_event_class_code => l_event_class_code);
27101: --
27102: -- set accounting class
27103: --
27104: xla_ae_lines_pkg.SetAcctClass(
27105: p_accounting_class_code => 'ACCOUNTSPAYABLE'
27106: , p_ae_header_id => l_ae_header_id
27107: );
27108:
27108:
27109: --
27110: -- set rounding class
27111: --
27112: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27113: 'ACCOUNTSPAYABLE';
27114:
27115: --
27116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27112: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27113: 'ACCOUNTSPAYABLE';
27114:
27115: --
27116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27118: --
27119: -- bulk performance
27120: --
27113: 'ACCOUNTSPAYABLE';
27114:
27115: --
27116: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27118: --
27119: -- bulk performance
27120: --
27121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27117: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27118: --
27119: -- bulk performance
27120: --
27121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27122:
27123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27125:
27119: -- bulk performance
27120: --
27121: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27122:
27123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27125:
27126: -- 4955764
27127: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27123: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27124: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27125:
27126: -- 4955764
27127: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27128: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27129:
27130: -- 4458381 Public Sector Enh
27131:
27233: l_rec_acct_attrs.array_num_value(43) := p_source_51;
27234: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
27235: l_rec_acct_attrs.array_num_value(44) := p_source_52;
27236:
27237: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27238: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27239:
27240: ---------------------------------------------------------------------------------------------------------------
27241: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27234: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
27235: l_rec_acct_attrs.array_num_value(44) := p_source_52;
27236:
27237: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27238: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27239:
27240: ---------------------------------------------------------------------------------------------------------------
27241: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27242: ---------------------------------------------------------------------------------------------------------------
27237: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27238: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27239:
27240: ---------------------------------------------------------------------------------------------------------------
27241: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27242: ---------------------------------------------------------------------------------------------------------------
27243: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27244:
27245: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27239:
27240: ---------------------------------------------------------------------------------------------------------------
27241: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27242: ---------------------------------------------------------------------------------------------------------------
27243: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27244:
27245: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27246: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27247:
27241: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27242: ---------------------------------------------------------------------------------------------------------------
27243: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27244:
27245: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27246: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27247:
27248: IF xla_accounting_cache_pkg.GetValueChar
27249: (p_source_code => 'LEDGER_CATEGORY_CODE'
27242: ---------------------------------------------------------------------------------------------------------------
27243: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27244:
27245: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27246: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27247:
27248: IF xla_accounting_cache_pkg.GetValueChar
27249: (p_source_code => 'LEDGER_CATEGORY_CODE'
27250: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27253: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27254: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27255: )
27256: THEN
27257: xla_ae_lines_pkg.BflowUpgEntry
27258: (p_business_method_code => l_bflow_method_code
27259: ,p_business_class_code => l_bflow_class_code
27260: ,p_balance_type => l_balance_type_code);
27261: ELSE
27270: --
27271: -- call description
27272: --
27273:
27274: xla_ae_lines_pkg.SetLineDescription(
27275: p_ae_header_id => l_ae_header_id
27276: ,p_description => Description_2 (
27277: p_application_id => p_application_id
27278: , p_ae_header_id => l_ae_header_id
27303: , x_value_type_code => l_adr_value_type_code
27304: , p_side => 'NA'
27305: );
27306:
27307: xla_ae_lines_pkg.set_ccid(
27308: p_code_combination_id => l_ccid
27309: , p_value_type_code => l_adr_value_type_code
27310: , p_transaction_coa_id => l_adr_transaction_coa_id
27311: , p_accounting_coa_id => l_adr_accounting_coa_id
27335: );
27336:
27337: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27338:
27339: xla_ae_lines_pkg.set_segment(
27340: p_to_segment_code => 'GL_ACCOUNT'
27341: , p_segment_value => l_segment
27342: , p_from_segment_code => l_adr_value_segment_code
27343: , p_from_combination_id => l_adr_value_combination_id
27379: xla_accounting_err_pkg.build_message
27380: (p_appli_s_name => 'XLA'
27381: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27382: ,p_token_1 => 'LINE_NUMBER'
27383: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27384: ,p_token_2 => 'LINE_TYPE_NAME'
27385: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27386: l_component_type
27387: ,l_component_code
27415: --
27416: --
27417: ------------------------------------------------------------------------------------------------
27418: -- 4219869 Business Flow
27419: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27420: -- Prior Entry. Currently, the following code is always generated.
27421: ------------------------------------------------------------------------------------------------
27422: XLA_AE_LINES_PKG.ValidateCurrentLine;
27423:
27418: -- 4219869 Business Flow
27419: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27420: -- Prior Entry. Currently, the following code is always generated.
27421: ------------------------------------------------------------------------------------------------
27422: XLA_AE_LINES_PKG.ValidateCurrentLine;
27423:
27424: ------------------------------------------------------------------------------------
27425: -- 4219869 Business Flow
27426: -- Populated credit and debit amounts -- Need to generate this within IF
27424: ------------------------------------------------------------------------------------
27425: -- 4219869 Business Flow
27426: -- Populated credit and debit amounts -- Need to generate this within IF
27427: ------------------------------------------------------------------------------------
27428: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27429:
27430: ----------------------------------------------------------------------------------
27431: -- 4219869 Business Flow
27432: -- Update journal entry status -- Need to generate this within IF
27456: -- To allow MPA report to determine if it should generate report process
27457: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27458: ------------------------------------------------------------------------------------------
27459:
27460: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27461: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27462: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27463: -- call ADRs
27464: -- Bug 4922099
27457: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27458: ------------------------------------------------------------------------------------------
27459:
27460: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27461: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27462: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27463: -- call ADRs
27464: -- Bug 4922099
27465: --
27481: , x_value_type_code => l_adr_value_type_code
27482: , p_side => 'NA'
27483: );
27484:
27485: xla_ae_lines_pkg.set_ccid(
27486: p_code_combination_id => l_ccid
27487: , p_value_type_code => l_adr_value_type_code
27488: , p_transaction_coa_id => l_adr_transaction_coa_id
27489: , p_accounting_coa_id => l_adr_accounting_coa_id
27513: );
27514:
27515: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27516:
27517: xla_ae_lines_pkg.set_segment(
27518: p_to_segment_code => 'GL_ACCOUNT'
27519: , p_segment_value => l_segment
27520: , p_from_segment_code => l_adr_value_segment_code
27521: , p_from_combination_id => l_adr_value_combination_id
27544:
27545: --
27546: -- Update the line information that should be overwritten
27547: --
27548: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27549: p_header_num => 1);
27550: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27551:
27552: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27546: -- Update the line information that should be overwritten
27547: --
27548: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27549: p_header_num => 1);
27550: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27551:
27552: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27553:
27554: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27548: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27549: p_header_num => 1);
27550: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27551:
27552: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27553:
27554: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27555: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27556: END IF;
27551:
27552: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27553:
27554: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27555: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27556: END IF;
27557:
27558: --
27559: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27558: --
27559: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27560: --
27561: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27562: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27563: ELSE
27564: ---------------------------------------------------------------------------------------------------
27565: -- 4262811a Switch Sign
27566: ---------------------------------------------------------------------------------------------------
27563: ELSE
27564: ---------------------------------------------------------------------------------------------------
27565: -- 4262811a Switch Sign
27566: ---------------------------------------------------------------------------------------------------
27567: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27564: ---------------------------------------------------------------------------------------------------
27565: -- 4262811a Switch Sign
27566: ---------------------------------------------------------------------------------------------------
27567: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27565: -- 4262811a Switch Sign
27566: ---------------------------------------------------------------------------------------------------
27567: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27566: ---------------------------------------------------------------------------------------------------
27567: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27574: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27567: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27568: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27574: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27575:
27569: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27574: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27575:
27576: END IF;
27577:
27570: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27571: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27572: -- 5132302
27573: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27574: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27575:
27576: END IF;
27577:
27578: -- 4955764
27575:
27576: END IF;
27577:
27578: -- 4955764
27579: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27580: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27581:
27582:
27583: XLA_AE_LINES_PKG.ValidateCurrentLine;
27579: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27580: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27581:
27582:
27583: XLA_AE_LINES_PKG.ValidateCurrentLine;
27584: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27585:
27586: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27587: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27580: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27581:
27582:
27583: XLA_AE_LINES_PKG.ValidateCurrentLine;
27584: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27585:
27586: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27587: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27588: ,p_balance_type_code => l_balance_type_code);
27774: --
27775: -- bulk performance
27776: --
27777: l_balance_type_code VARCHAR2(1);
27778: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27779: l_log_module VARCHAR2(240);
27780:
27781: --
27782: -- Upgrade strategy
27842: ') = 'Direct'
27843: THEN
27844:
27845: --
27846: XLA_AE_LINES_PKG.SetNewLine;
27847:
27848: p_balance_type_code := l_balance_type_code;
27849: -- set the flag so later we will know whether the gain loss line needs to be created
27850:
27854:
27855: --
27856: -- bulk performance
27857: --
27858: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27859: p_header_num => 0); -- 4262811
27860: --
27861: -- set accounting line options
27862: --
27859: p_header_num => 0); -- 4262811
27860: --
27861: -- set accounting line options
27862: --
27863: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27864: p_natural_side_code => 'D'
27865: , p_gain_or_loss_flag => 'N'
27866: , p_gl_transfer_mode_code => 'S'
27867: , p_acct_entry_type_code => 'A'
27873: --
27874: --
27875: -- set accounting line type info
27876: --
27877: xla_ae_lines_pkg.SetAcctLineType
27878: (p_component_type => l_component_type
27879: ,p_event_type_code => l_event_type_code
27880: ,p_line_definition_owner_code => l_line_definition_owner_code
27881: ,p_line_definition_code => l_line_definition_code
27887: ,p_event_class_code => l_event_class_code);
27888: --
27889: -- set accounting class
27890: --
27891: xla_ae_lines_pkg.SetAcctClass(
27892: p_accounting_class_code => 'ACCOUNTSPAYABLE'
27893: , p_ae_header_id => l_ae_header_id
27894: );
27895:
27895:
27896: --
27897: -- set rounding class
27898: --
27899: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27900: 'ACCOUNTSPAYABLE';
27901:
27902: --
27903: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27899: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27900: 'ACCOUNTSPAYABLE';
27901:
27902: --
27903: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27904: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27905: --
27906: -- bulk performance
27907: --
27900: 'ACCOUNTSPAYABLE';
27901:
27902: --
27903: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27904: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27905: --
27906: -- bulk performance
27907: --
27908: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27904: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27905: --
27906: -- bulk performance
27907: --
27908: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27909:
27910: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27911: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27912:
27906: -- bulk performance
27907: --
27908: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27909:
27910: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27911: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27912:
27913: -- 4955764
27914: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27910: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27911: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27912:
27913: -- 4955764
27914: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27915: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27916:
27917: -- 4458381 Public Sector Enh
27918:
28020: l_rec_acct_attrs.array_num_value(43) := p_source_51;
28021: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
28022: l_rec_acct_attrs.array_num_value(44) := p_source_52;
28023:
28024: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28025: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28026:
28027: ---------------------------------------------------------------------------------------------------------------
28028: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28021: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
28022: l_rec_acct_attrs.array_num_value(44) := p_source_52;
28023:
28024: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28025: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28026:
28027: ---------------------------------------------------------------------------------------------------------------
28028: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28029: ---------------------------------------------------------------------------------------------------------------
28024: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28025: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28026:
28027: ---------------------------------------------------------------------------------------------------------------
28028: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28029: ---------------------------------------------------------------------------------------------------------------
28030: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28031:
28032: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28026:
28027: ---------------------------------------------------------------------------------------------------------------
28028: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28029: ---------------------------------------------------------------------------------------------------------------
28030: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28031:
28032: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28033: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28034:
28028: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28029: ---------------------------------------------------------------------------------------------------------------
28030: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28031:
28032: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28033: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28034:
28035: IF xla_accounting_cache_pkg.GetValueChar
28036: (p_source_code => 'LEDGER_CATEGORY_CODE'
28029: ---------------------------------------------------------------------------------------------------------------
28030: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28031:
28032: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28033: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28034:
28035: IF xla_accounting_cache_pkg.GetValueChar
28036: (p_source_code => 'LEDGER_CATEGORY_CODE'
28037: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28040: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28041: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28042: )
28043: THEN
28044: xla_ae_lines_pkg.BflowUpgEntry
28045: (p_business_method_code => l_bflow_method_code
28046: ,p_business_class_code => l_bflow_class_code
28047: ,p_balance_type => l_balance_type_code);
28048: ELSE
28057: --
28058: -- call description
28059: --
28060:
28061: xla_ae_lines_pkg.SetLineDescription(
28062: p_ae_header_id => l_ae_header_id
28063: ,p_description => Description_2 (
28064: p_application_id => p_application_id
28065: , p_ae_header_id => l_ae_header_id
28090: , x_value_type_code => l_adr_value_type_code
28091: , p_side => 'NA'
28092: );
28093:
28094: xla_ae_lines_pkg.set_ccid(
28095: p_code_combination_id => l_ccid
28096: , p_value_type_code => l_adr_value_type_code
28097: , p_transaction_coa_id => l_adr_transaction_coa_id
28098: , p_accounting_coa_id => l_adr_accounting_coa_id
28122: );
28123:
28124: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28125:
28126: xla_ae_lines_pkg.set_segment(
28127: p_to_segment_code => 'GL_ACCOUNT'
28128: , p_segment_value => l_segment
28129: , p_from_segment_code => l_adr_value_segment_code
28130: , p_from_combination_id => l_adr_value_combination_id
28166: xla_accounting_err_pkg.build_message
28167: (p_appli_s_name => 'XLA'
28168: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28169: ,p_token_1 => 'LINE_NUMBER'
28170: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28171: ,p_token_2 => 'LINE_TYPE_NAME'
28172: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28173: l_component_type
28174: ,l_component_code
28202: --
28203: --
28204: ------------------------------------------------------------------------------------------------
28205: -- 4219869 Business Flow
28206: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28207: -- Prior Entry. Currently, the following code is always generated.
28208: ------------------------------------------------------------------------------------------------
28209: XLA_AE_LINES_PKG.ValidateCurrentLine;
28210:
28205: -- 4219869 Business Flow
28206: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28207: -- Prior Entry. Currently, the following code is always generated.
28208: ------------------------------------------------------------------------------------------------
28209: XLA_AE_LINES_PKG.ValidateCurrentLine;
28210:
28211: ------------------------------------------------------------------------------------
28212: -- 4219869 Business Flow
28213: -- Populated credit and debit amounts -- Need to generate this within IF
28211: ------------------------------------------------------------------------------------
28212: -- 4219869 Business Flow
28213: -- Populated credit and debit amounts -- Need to generate this within IF
28214: ------------------------------------------------------------------------------------
28215: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28216:
28217: ----------------------------------------------------------------------------------
28218: -- 4219869 Business Flow
28219: -- Update journal entry status -- Need to generate this within IF
28243: -- To allow MPA report to determine if it should generate report process
28244: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28245: ------------------------------------------------------------------------------------------
28246:
28247: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28248: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28249: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28250: -- call ADRs
28251: -- Bug 4922099
28244: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28245: ------------------------------------------------------------------------------------------
28246:
28247: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28248: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28249: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28250: -- call ADRs
28251: -- Bug 4922099
28252: --
28268: , x_value_type_code => l_adr_value_type_code
28269: , p_side => 'NA'
28270: );
28271:
28272: xla_ae_lines_pkg.set_ccid(
28273: p_code_combination_id => l_ccid
28274: , p_value_type_code => l_adr_value_type_code
28275: , p_transaction_coa_id => l_adr_transaction_coa_id
28276: , p_accounting_coa_id => l_adr_accounting_coa_id
28300: );
28301:
28302: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28303:
28304: xla_ae_lines_pkg.set_segment(
28305: p_to_segment_code => 'GL_ACCOUNT'
28306: , p_segment_value => l_segment
28307: , p_from_segment_code => l_adr_value_segment_code
28308: , p_from_combination_id => l_adr_value_combination_id
28331:
28332: --
28333: -- Update the line information that should be overwritten
28334: --
28335: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28336: p_header_num => 1);
28337: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28338:
28339: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28333: -- Update the line information that should be overwritten
28334: --
28335: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28336: p_header_num => 1);
28337: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28338:
28339: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28340:
28341: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28335: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28336: p_header_num => 1);
28337: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28338:
28339: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28340:
28341: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28342: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28343: END IF;
28338:
28339: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28340:
28341: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28342: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28343: END IF;
28344:
28345: --
28346: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28345: --
28346: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28347: --
28348: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28349: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28350: ELSE
28351: ---------------------------------------------------------------------------------------------------
28352: -- 4262811a Switch Sign
28353: ---------------------------------------------------------------------------------------------------
28350: ELSE
28351: ---------------------------------------------------------------------------------------------------
28352: -- 4262811a Switch Sign
28353: ---------------------------------------------------------------------------------------------------
28354: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28351: ---------------------------------------------------------------------------------------------------
28352: -- 4262811a Switch Sign
28353: ---------------------------------------------------------------------------------------------------
28354: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28352: -- 4262811a Switch Sign
28353: ---------------------------------------------------------------------------------------------------
28354: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28353: ---------------------------------------------------------------------------------------------------
28354: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28361: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28354: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28355: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28361: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28362:
28356: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28361: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28362:
28363: END IF;
28364:
28357: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28358: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28359: -- 5132302
28360: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28361: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28362:
28363: END IF;
28364:
28365: -- 4955764
28362:
28363: END IF;
28364:
28365: -- 4955764
28366: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28367: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28368:
28369:
28370: XLA_AE_LINES_PKG.ValidateCurrentLine;
28366: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28367: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28368:
28369:
28370: XLA_AE_LINES_PKG.ValidateCurrentLine;
28371: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28372:
28373: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28374: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28367: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28368:
28369:
28370: XLA_AE_LINES_PKG.ValidateCurrentLine;
28371: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28372:
28373: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28374: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28375: ,p_balance_type_code => l_balance_type_code);
28575: --
28576: -- bulk performance
28577: --
28578: l_balance_type_code VARCHAR2(1);
28579: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28580: l_log_module VARCHAR2(240);
28581:
28582: --
28583: -- Upgrade strategy
28650: ') = 'N')
28651: THEN
28652:
28653: --
28654: XLA_AE_LINES_PKG.SetNewLine;
28655:
28656: p_balance_type_code := l_balance_type_code;
28657: -- set the flag so later we will know whether the gain loss line needs to be created
28658:
28662:
28663: --
28664: -- bulk performance
28665: --
28666: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28667: p_header_num => 0); -- 4262811
28668: --
28669: -- set accounting line options
28670: --
28667: p_header_num => 0); -- 4262811
28668: --
28669: -- set accounting line options
28670: --
28671: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28672: p_natural_side_code => 'D'
28673: , p_gain_or_loss_flag => 'N'
28674: , p_gl_transfer_mode_code => 'S'
28675: , p_acct_entry_type_code => 'A'
28681: --
28682: --
28683: -- set accounting line type info
28684: --
28685: xla_ae_lines_pkg.SetAcctLineType
28686: (p_component_type => l_component_type
28687: ,p_event_type_code => l_event_type_code
28688: ,p_line_definition_owner_code => l_line_definition_owner_code
28689: ,p_line_definition_code => l_line_definition_code
28695: ,p_event_class_code => l_event_class_code);
28696: --
28697: -- set accounting class
28698: --
28699: xla_ae_lines_pkg.SetAcctClass(
28700: p_accounting_class_code => 'ACCOUNTSPAYABLE'
28701: , p_ae_header_id => l_ae_header_id
28702: );
28703:
28703:
28704: --
28705: -- set rounding class
28706: --
28707: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28708: 'ACCOUNTSPAYABLE';
28709:
28710: --
28711: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28707: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28708: 'ACCOUNTSPAYABLE';
28709:
28710: --
28711: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28712: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28713: --
28714: -- bulk performance
28715: --
28708: 'ACCOUNTSPAYABLE';
28709:
28710: --
28711: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28712: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28713: --
28714: -- bulk performance
28715: --
28716: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28712: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28713: --
28714: -- bulk performance
28715: --
28716: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28717:
28718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28719: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28720:
28714: -- bulk performance
28715: --
28716: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28717:
28718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28719: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28720:
28721: -- 4955764
28722: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28718: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28719: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28720:
28721: -- 4955764
28722: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28723: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28724:
28725: -- 4458381 Public Sector Enh
28726:
28828: l_rec_acct_attrs.array_num_value(43) := p_source_51;
28829: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
28830: l_rec_acct_attrs.array_num_value(44) := p_source_52;
28831:
28832: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28833: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28834:
28835: ---------------------------------------------------------------------------------------------------------------
28836: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28829: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
28830: l_rec_acct_attrs.array_num_value(44) := p_source_52;
28831:
28832: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28833: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28834:
28835: ---------------------------------------------------------------------------------------------------------------
28836: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28837: ---------------------------------------------------------------------------------------------------------------
28832: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28833: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28834:
28835: ---------------------------------------------------------------------------------------------------------------
28836: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28837: ---------------------------------------------------------------------------------------------------------------
28838: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28839:
28840: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28834:
28835: ---------------------------------------------------------------------------------------------------------------
28836: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28837: ---------------------------------------------------------------------------------------------------------------
28838: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28839:
28840: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28841: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28842:
28836: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28837: ---------------------------------------------------------------------------------------------------------------
28838: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28839:
28840: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28841: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28842:
28843: IF xla_accounting_cache_pkg.GetValueChar
28844: (p_source_code => 'LEDGER_CATEGORY_CODE'
28837: ---------------------------------------------------------------------------------------------------------------
28838: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28839:
28840: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28841: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28842:
28843: IF xla_accounting_cache_pkg.GetValueChar
28844: (p_source_code => 'LEDGER_CATEGORY_CODE'
28845: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28848: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28849: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28850: )
28851: THEN
28852: xla_ae_lines_pkg.BflowUpgEntry
28853: (p_business_method_code => l_bflow_method_code
28854: ,p_business_class_code => l_bflow_class_code
28855: ,p_balance_type => l_balance_type_code);
28856: ELSE
28865: --
28866: -- call description
28867: --
28868:
28869: xla_ae_lines_pkg.SetLineDescription(
28870: p_ae_header_id => l_ae_header_id
28871: ,p_description => Description_2 (
28872: p_application_id => p_application_id
28873: , p_ae_header_id => l_ae_header_id
28898: , x_value_type_code => l_adr_value_type_code
28899: , p_side => 'NA'
28900: );
28901:
28902: xla_ae_lines_pkg.set_ccid(
28903: p_code_combination_id => l_ccid
28904: , p_value_type_code => l_adr_value_type_code
28905: , p_transaction_coa_id => l_adr_transaction_coa_id
28906: , p_accounting_coa_id => l_adr_accounting_coa_id
28933: );
28934:
28935: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28936:
28937: xla_ae_lines_pkg.set_segment(
28938: p_to_segment_code => 'GL_ACCOUNT'
28939: , p_segment_value => l_segment
28940: , p_from_segment_code => l_adr_value_segment_code
28941: , p_from_combination_id => l_adr_value_combination_id
28977: xla_accounting_err_pkg.build_message
28978: (p_appli_s_name => 'XLA'
28979: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28980: ,p_token_1 => 'LINE_NUMBER'
28981: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28982: ,p_token_2 => 'LINE_TYPE_NAME'
28983: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28984: l_component_type
28985: ,l_component_code
29013: --
29014: --
29015: ------------------------------------------------------------------------------------------------
29016: -- 4219869 Business Flow
29017: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29018: -- Prior Entry. Currently, the following code is always generated.
29019: ------------------------------------------------------------------------------------------------
29020: XLA_AE_LINES_PKG.ValidateCurrentLine;
29021:
29016: -- 4219869 Business Flow
29017: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29018: -- Prior Entry. Currently, the following code is always generated.
29019: ------------------------------------------------------------------------------------------------
29020: XLA_AE_LINES_PKG.ValidateCurrentLine;
29021:
29022: ------------------------------------------------------------------------------------
29023: -- 4219869 Business Flow
29024: -- Populated credit and debit amounts -- Need to generate this within IF
29022: ------------------------------------------------------------------------------------
29023: -- 4219869 Business Flow
29024: -- Populated credit and debit amounts -- Need to generate this within IF
29025: ------------------------------------------------------------------------------------
29026: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29027:
29028: ----------------------------------------------------------------------------------
29029: -- 4219869 Business Flow
29030: -- Update journal entry status -- Need to generate this within IF
29054: -- To allow MPA report to determine if it should generate report process
29055: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29056: ------------------------------------------------------------------------------------------
29057:
29058: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29059: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29060: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29061: -- call ADRs
29062: -- Bug 4922099
29055: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29056: ------------------------------------------------------------------------------------------
29057:
29058: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29059: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29060: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29061: -- call ADRs
29062: -- Bug 4922099
29063: --
29079: , x_value_type_code => l_adr_value_type_code
29080: , p_side => 'NA'
29081: );
29082:
29083: xla_ae_lines_pkg.set_ccid(
29084: p_code_combination_id => l_ccid
29085: , p_value_type_code => l_adr_value_type_code
29086: , p_transaction_coa_id => l_adr_transaction_coa_id
29087: , p_accounting_coa_id => l_adr_accounting_coa_id
29114: );
29115:
29116: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29117:
29118: xla_ae_lines_pkg.set_segment(
29119: p_to_segment_code => 'GL_ACCOUNT'
29120: , p_segment_value => l_segment
29121: , p_from_segment_code => l_adr_value_segment_code
29122: , p_from_combination_id => l_adr_value_combination_id
29145:
29146: --
29147: -- Update the line information that should be overwritten
29148: --
29149: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29150: p_header_num => 1);
29151: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29152:
29153: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29147: -- Update the line information that should be overwritten
29148: --
29149: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29150: p_header_num => 1);
29151: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29152:
29153: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29154:
29155: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29149: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29150: p_header_num => 1);
29151: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29152:
29153: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29154:
29155: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29156: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29157: END IF;
29152:
29153: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29154:
29155: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29156: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29157: END IF;
29158:
29159: --
29160: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29159: --
29160: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29161: --
29162: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29163: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29164: ELSE
29165: ---------------------------------------------------------------------------------------------------
29166: -- 4262811a Switch Sign
29167: ---------------------------------------------------------------------------------------------------
29164: ELSE
29165: ---------------------------------------------------------------------------------------------------
29166: -- 4262811a Switch Sign
29167: ---------------------------------------------------------------------------------------------------
29168: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29169: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29165: ---------------------------------------------------------------------------------------------------
29166: -- 4262811a Switch Sign
29167: ---------------------------------------------------------------------------------------------------
29168: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29169: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29166: -- 4262811a Switch Sign
29167: ---------------------------------------------------------------------------------------------------
29168: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29169: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29174: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29167: ---------------------------------------------------------------------------------------------------
29168: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29169: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29174: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29175: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29168: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29169: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29174: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29175: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29176:
29170: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29174: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29175: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29176:
29177: END IF;
29178:
29171: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29172: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29173: -- 5132302
29174: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29175: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29176:
29177: END IF;
29178:
29179: -- 4955764
29176:
29177: END IF;
29178:
29179: -- 4955764
29180: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29181: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29182:
29183:
29184: XLA_AE_LINES_PKG.ValidateCurrentLine;
29180: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29181: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29182:
29183:
29184: XLA_AE_LINES_PKG.ValidateCurrentLine;
29185: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29186:
29187: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29188: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29181: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29182:
29183:
29184: XLA_AE_LINES_PKG.ValidateCurrentLine;
29185: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29186:
29187: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29188: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29189: ,p_balance_type_code => l_balance_type_code);
29388: --
29389: -- bulk performance
29390: --
29391: l_balance_type_code VARCHAR2(1);
29392: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29393: l_log_module VARCHAR2(240);
29394:
29395: --
29396: -- Upgrade strategy
29463: ') = 'N')
29464: THEN
29465:
29466: --
29467: XLA_AE_LINES_PKG.SetNewLine;
29468:
29469: p_balance_type_code := l_balance_type_code;
29470: -- set the flag so later we will know whether the gain loss line needs to be created
29471:
29475:
29476: --
29477: -- bulk performance
29478: --
29479: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29480: p_header_num => 0); -- 4262811
29481: --
29482: -- set accounting line options
29483: --
29480: p_header_num => 0); -- 4262811
29481: --
29482: -- set accounting line options
29483: --
29484: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29485: p_natural_side_code => 'C'
29486: , p_gain_or_loss_flag => 'N'
29487: , p_gl_transfer_mode_code => 'S'
29488: , p_acct_entry_type_code => 'A'
29494: --
29495: --
29496: -- set accounting line type info
29497: --
29498: xla_ae_lines_pkg.SetAcctLineType
29499: (p_component_type => l_component_type
29500: ,p_event_type_code => l_event_type_code
29501: ,p_line_definition_owner_code => l_line_definition_owner_code
29502: ,p_line_definition_code => l_line_definition_code
29508: ,p_event_class_code => l_event_class_code);
29509: --
29510: -- set accounting class
29511: --
29512: xla_ae_lines_pkg.SetAcctClass(
29513: p_accounting_class_code => 'ACCOUNTSPAYABLE'
29514: , p_ae_header_id => l_ae_header_id
29515: );
29516:
29516:
29517: --
29518: -- set rounding class
29519: --
29520: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29521: 'ACCOUNTSPAYABLE';
29522:
29523: --
29524: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29520: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29521: 'ACCOUNTSPAYABLE';
29522:
29523: --
29524: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29525: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29526: --
29527: -- bulk performance
29528: --
29521: 'ACCOUNTSPAYABLE';
29522:
29523: --
29524: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29525: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29526: --
29527: -- bulk performance
29528: --
29529: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29525: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29526: --
29527: -- bulk performance
29528: --
29529: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29530:
29531: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29532: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29533:
29527: -- bulk performance
29528: --
29529: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29530:
29531: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29532: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29533:
29534: -- 4955764
29535: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29531: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29532: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29533:
29534: -- 4955764
29535: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29536: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29537:
29538: -- 4458381 Public Sector Enh
29539:
29641: l_rec_acct_attrs.array_num_value(43) := p_source_51;
29642: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
29643: l_rec_acct_attrs.array_num_value(44) := p_source_52;
29644:
29645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29647:
29648: ---------------------------------------------------------------------------------------------------------------
29649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29642: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
29643: l_rec_acct_attrs.array_num_value(44) := p_source_52;
29644:
29645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29647:
29648: ---------------------------------------------------------------------------------------------------------------
29649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29650: ---------------------------------------------------------------------------------------------------------------
29645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29647:
29648: ---------------------------------------------------------------------------------------------------------------
29649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29650: ---------------------------------------------------------------------------------------------------------------
29651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29652:
29653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29647:
29648: ---------------------------------------------------------------------------------------------------------------
29649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29650: ---------------------------------------------------------------------------------------------------------------
29651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29652:
29653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29655:
29649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29650: ---------------------------------------------------------------------------------------------------------------
29651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29652:
29653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29655:
29656: IF xla_accounting_cache_pkg.GetValueChar
29657: (p_source_code => 'LEDGER_CATEGORY_CODE'
29650: ---------------------------------------------------------------------------------------------------------------
29651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29652:
29653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29655:
29656: IF xla_accounting_cache_pkg.GetValueChar
29657: (p_source_code => 'LEDGER_CATEGORY_CODE'
29658: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29661: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29662: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29663: )
29664: THEN
29665: xla_ae_lines_pkg.BflowUpgEntry
29666: (p_business_method_code => l_bflow_method_code
29667: ,p_business_class_code => l_bflow_class_code
29668: ,p_balance_type => l_balance_type_code);
29669: ELSE
29678: --
29679: -- call description
29680: --
29681:
29682: xla_ae_lines_pkg.SetLineDescription(
29683: p_ae_header_id => l_ae_header_id
29684: ,p_description => Description_2 (
29685: p_application_id => p_application_id
29686: , p_ae_header_id => l_ae_header_id
29711: , x_value_type_code => l_adr_value_type_code
29712: , p_side => 'NA'
29713: );
29714:
29715: xla_ae_lines_pkg.set_ccid(
29716: p_code_combination_id => l_ccid
29717: , p_value_type_code => l_adr_value_type_code
29718: , p_transaction_coa_id => l_adr_transaction_coa_id
29719: , p_accounting_coa_id => l_adr_accounting_coa_id
29750: );
29751:
29752: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29753:
29754: xla_ae_lines_pkg.set_segment(
29755: p_to_segment_code => 'GL_ACCOUNT'
29756: , p_segment_value => l_segment
29757: , p_from_segment_code => l_adr_value_segment_code
29758: , p_from_combination_id => l_adr_value_combination_id
29794: xla_accounting_err_pkg.build_message
29795: (p_appli_s_name => 'XLA'
29796: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29797: ,p_token_1 => 'LINE_NUMBER'
29798: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29799: ,p_token_2 => 'LINE_TYPE_NAME'
29800: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29801: l_component_type
29802: ,l_component_code
29830: --
29831: --
29832: ------------------------------------------------------------------------------------------------
29833: -- 4219869 Business Flow
29834: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29835: -- Prior Entry. Currently, the following code is always generated.
29836: ------------------------------------------------------------------------------------------------
29837: XLA_AE_LINES_PKG.ValidateCurrentLine;
29838:
29833: -- 4219869 Business Flow
29834: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29835: -- Prior Entry. Currently, the following code is always generated.
29836: ------------------------------------------------------------------------------------------------
29837: XLA_AE_LINES_PKG.ValidateCurrentLine;
29838:
29839: ------------------------------------------------------------------------------------
29840: -- 4219869 Business Flow
29841: -- Populated credit and debit amounts -- Need to generate this within IF
29839: ------------------------------------------------------------------------------------
29840: -- 4219869 Business Flow
29841: -- Populated credit and debit amounts -- Need to generate this within IF
29842: ------------------------------------------------------------------------------------
29843: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29844:
29845: ----------------------------------------------------------------------------------
29846: -- 4219869 Business Flow
29847: -- Update journal entry status -- Need to generate this within IF
29871: -- To allow MPA report to determine if it should generate report process
29872: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29873: ------------------------------------------------------------------------------------------
29874:
29875: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29876: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29877: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29878: -- call ADRs
29879: -- Bug 4922099
29872: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29873: ------------------------------------------------------------------------------------------
29874:
29875: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29876: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29877: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29878: -- call ADRs
29879: -- Bug 4922099
29880: --
29896: , x_value_type_code => l_adr_value_type_code
29897: , p_side => 'NA'
29898: );
29899:
29900: xla_ae_lines_pkg.set_ccid(
29901: p_code_combination_id => l_ccid
29902: , p_value_type_code => l_adr_value_type_code
29903: , p_transaction_coa_id => l_adr_transaction_coa_id
29904: , p_accounting_coa_id => l_adr_accounting_coa_id
29935: );
29936:
29937: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29938:
29939: xla_ae_lines_pkg.set_segment(
29940: p_to_segment_code => 'GL_ACCOUNT'
29941: , p_segment_value => l_segment
29942: , p_from_segment_code => l_adr_value_segment_code
29943: , p_from_combination_id => l_adr_value_combination_id
29966:
29967: --
29968: -- Update the line information that should be overwritten
29969: --
29970: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29971: p_header_num => 1);
29972: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29973:
29974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29968: -- Update the line information that should be overwritten
29969: --
29970: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29971: p_header_num => 1);
29972: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29973:
29974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29975:
29976: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29970: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29971: p_header_num => 1);
29972: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29973:
29974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29975:
29976: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29977: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29978: END IF;
29973:
29974: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29975:
29976: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29977: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29978: END IF;
29979:
29980: --
29981: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29980: --
29981: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29982: --
29983: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29984: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29985: ELSE
29986: ---------------------------------------------------------------------------------------------------
29987: -- 4262811a Switch Sign
29988: ---------------------------------------------------------------------------------------------------
29985: ELSE
29986: ---------------------------------------------------------------------------------------------------
29987: -- 4262811a Switch Sign
29988: ---------------------------------------------------------------------------------------------------
29989: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29990: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29986: ---------------------------------------------------------------------------------------------------
29987: -- 4262811a Switch Sign
29988: ---------------------------------------------------------------------------------------------------
29989: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29990: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29987: -- 4262811a Switch Sign
29988: ---------------------------------------------------------------------------------------------------
29989: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29990: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29995: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29988: ---------------------------------------------------------------------------------------------------
29989: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29990: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29995: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29996: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29989: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29990: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29995: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29996: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29997:
29991: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29995: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29996: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29997:
29998: END IF;
29999:
29992: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994: -- 5132302
29995: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29996: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29997:
29998: END IF;
29999:
30000: -- 4955764
29997:
29998: END IF;
29999:
30000: -- 4955764
30001: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30002: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30003:
30004:
30005: XLA_AE_LINES_PKG.ValidateCurrentLine;
30001: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30002: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30003:
30004:
30005: XLA_AE_LINES_PKG.ValidateCurrentLine;
30006: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30007:
30008: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30009: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30002: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30003:
30004:
30005: XLA_AE_LINES_PKG.ValidateCurrentLine;
30006: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30007:
30008: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30009: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30010: ,p_balance_type_code => l_balance_type_code);
30209: --
30210: -- bulk performance
30211: --
30212: l_balance_type_code VARCHAR2(1);
30213: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30214: l_log_module VARCHAR2(240);
30215:
30216: --
30217: -- Upgrade strategy
30280: ') = 'Y'
30281: THEN
30282:
30283: --
30284: XLA_AE_LINES_PKG.SetNewLine;
30285:
30286: p_balance_type_code := l_balance_type_code;
30287: -- set the flag so later we will know whether the gain loss line needs to be created
30288:
30292:
30293: --
30294: -- bulk performance
30295: --
30296: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30297: p_header_num => 0); -- 4262811
30298: --
30299: -- set accounting line options
30300: --
30297: p_header_num => 0); -- 4262811
30298: --
30299: -- set accounting line options
30300: --
30301: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30302: p_natural_side_code => 'C'
30303: , p_gain_or_loss_flag => 'N'
30304: , p_gl_transfer_mode_code => 'S'
30305: , p_acct_entry_type_code => 'A'
30311: --
30312: --
30313: -- set accounting line type info
30314: --
30315: xla_ae_lines_pkg.SetAcctLineType
30316: (p_component_type => l_component_type
30317: ,p_event_type_code => l_event_type_code
30318: ,p_line_definition_owner_code => l_line_definition_owner_code
30319: ,p_line_definition_code => l_line_definition_code
30325: ,p_event_class_code => l_event_class_code);
30326: --
30327: -- set accounting class
30328: --
30329: xla_ae_lines_pkg.SetAcctClass(
30330: p_accounting_class_code => 'ACCOUNTSPAYABLE'
30331: , p_ae_header_id => l_ae_header_id
30332: );
30333:
30333:
30334: --
30335: -- set rounding class
30336: --
30337: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30338: 'ACCOUNTSPAYABLE';
30339:
30340: --
30341: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30337: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30338: 'ACCOUNTSPAYABLE';
30339:
30340: --
30341: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30342: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30343: --
30344: -- bulk performance
30345: --
30338: 'ACCOUNTSPAYABLE';
30339:
30340: --
30341: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30342: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30343: --
30344: -- bulk performance
30345: --
30346: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30342: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30343: --
30344: -- bulk performance
30345: --
30346: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30347:
30348: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30349: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30350:
30344: -- bulk performance
30345: --
30346: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30347:
30348: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30349: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30350:
30351: -- 4955764
30352: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30348: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30349: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30350:
30351: -- 4955764
30352: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30353: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30354:
30355: -- 4458381 Public Sector Enh
30356:
30458: l_rec_acct_attrs.array_num_value(43) := p_source_51;
30459: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
30460: l_rec_acct_attrs.array_num_value(44) := p_source_52;
30461:
30462: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30463: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30464:
30465: ---------------------------------------------------------------------------------------------------------------
30466: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30459: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
30460: l_rec_acct_attrs.array_num_value(44) := p_source_52;
30461:
30462: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30463: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30464:
30465: ---------------------------------------------------------------------------------------------------------------
30466: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30467: ---------------------------------------------------------------------------------------------------------------
30462: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30463: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30464:
30465: ---------------------------------------------------------------------------------------------------------------
30466: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30467: ---------------------------------------------------------------------------------------------------------------
30468: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30469:
30470: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30464:
30465: ---------------------------------------------------------------------------------------------------------------
30466: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30467: ---------------------------------------------------------------------------------------------------------------
30468: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30469:
30470: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30471: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30472:
30466: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30467: ---------------------------------------------------------------------------------------------------------------
30468: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30469:
30470: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30471: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30472:
30473: IF xla_accounting_cache_pkg.GetValueChar
30474: (p_source_code => 'LEDGER_CATEGORY_CODE'
30467: ---------------------------------------------------------------------------------------------------------------
30468: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30469:
30470: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30471: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30472:
30473: IF xla_accounting_cache_pkg.GetValueChar
30474: (p_source_code => 'LEDGER_CATEGORY_CODE'
30475: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30478: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30479: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30480: )
30481: THEN
30482: xla_ae_lines_pkg.BflowUpgEntry
30483: (p_business_method_code => l_bflow_method_code
30484: ,p_business_class_code => l_bflow_class_code
30485: ,p_balance_type => l_balance_type_code);
30486: ELSE
30495: --
30496: -- call description
30497: --
30498:
30499: xla_ae_lines_pkg.SetLineDescription(
30500: p_ae_header_id => l_ae_header_id
30501: ,p_description => Description_2 (
30502: p_application_id => p_application_id
30503: , p_ae_header_id => l_ae_header_id
30528: , x_value_type_code => l_adr_value_type_code
30529: , p_side => 'NA'
30530: );
30531:
30532: xla_ae_lines_pkg.set_ccid(
30533: p_code_combination_id => l_ccid
30534: , p_value_type_code => l_adr_value_type_code
30535: , p_transaction_coa_id => l_adr_transaction_coa_id
30536: , p_accounting_coa_id => l_adr_accounting_coa_id
30564: );
30565:
30566: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30567:
30568: xla_ae_lines_pkg.set_segment(
30569: p_to_segment_code => 'GL_ACCOUNT'
30570: , p_segment_value => l_segment
30571: , p_from_segment_code => l_adr_value_segment_code
30572: , p_from_combination_id => l_adr_value_combination_id
30608: xla_accounting_err_pkg.build_message
30609: (p_appli_s_name => 'XLA'
30610: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30611: ,p_token_1 => 'LINE_NUMBER'
30612: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30613: ,p_token_2 => 'LINE_TYPE_NAME'
30614: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30615: l_component_type
30616: ,l_component_code
30644: --
30645: --
30646: ------------------------------------------------------------------------------------------------
30647: -- 4219869 Business Flow
30648: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30649: -- Prior Entry. Currently, the following code is always generated.
30650: ------------------------------------------------------------------------------------------------
30651: XLA_AE_LINES_PKG.ValidateCurrentLine;
30652:
30647: -- 4219869 Business Flow
30648: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30649: -- Prior Entry. Currently, the following code is always generated.
30650: ------------------------------------------------------------------------------------------------
30651: XLA_AE_LINES_PKG.ValidateCurrentLine;
30652:
30653: ------------------------------------------------------------------------------------
30654: -- 4219869 Business Flow
30655: -- Populated credit and debit amounts -- Need to generate this within IF
30653: ------------------------------------------------------------------------------------
30654: -- 4219869 Business Flow
30655: -- Populated credit and debit amounts -- Need to generate this within IF
30656: ------------------------------------------------------------------------------------
30657: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30658:
30659: ----------------------------------------------------------------------------------
30660: -- 4219869 Business Flow
30661: -- Update journal entry status -- Need to generate this within IF
30685: -- To allow MPA report to determine if it should generate report process
30686: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30687: ------------------------------------------------------------------------------------------
30688:
30689: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30690: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30691: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30692: -- call ADRs
30693: -- Bug 4922099
30686: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30687: ------------------------------------------------------------------------------------------
30688:
30689: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30690: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30691: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30692: -- call ADRs
30693: -- Bug 4922099
30694: --
30710: , x_value_type_code => l_adr_value_type_code
30711: , p_side => 'NA'
30712: );
30713:
30714: xla_ae_lines_pkg.set_ccid(
30715: p_code_combination_id => l_ccid
30716: , p_value_type_code => l_adr_value_type_code
30717: , p_transaction_coa_id => l_adr_transaction_coa_id
30718: , p_accounting_coa_id => l_adr_accounting_coa_id
30746: );
30747:
30748: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30749:
30750: xla_ae_lines_pkg.set_segment(
30751: p_to_segment_code => 'GL_ACCOUNT'
30752: , p_segment_value => l_segment
30753: , p_from_segment_code => l_adr_value_segment_code
30754: , p_from_combination_id => l_adr_value_combination_id
30777:
30778: --
30779: -- Update the line information that should be overwritten
30780: --
30781: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30782: p_header_num => 1);
30783: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30784:
30785: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30779: -- Update the line information that should be overwritten
30780: --
30781: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30782: p_header_num => 1);
30783: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30784:
30785: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30786:
30787: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30781: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30782: p_header_num => 1);
30783: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30784:
30785: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30786:
30787: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30788: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30789: END IF;
30784:
30785: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30786:
30787: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30788: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30789: END IF;
30790:
30791: --
30792: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30791: --
30792: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30793: --
30794: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30795: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30796: ELSE
30797: ---------------------------------------------------------------------------------------------------
30798: -- 4262811a Switch Sign
30799: ---------------------------------------------------------------------------------------------------
30796: ELSE
30797: ---------------------------------------------------------------------------------------------------
30798: -- 4262811a Switch Sign
30799: ---------------------------------------------------------------------------------------------------
30800: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30801: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30797: ---------------------------------------------------------------------------------------------------
30798: -- 4262811a Switch Sign
30799: ---------------------------------------------------------------------------------------------------
30800: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30801: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30798: -- 4262811a Switch Sign
30799: ---------------------------------------------------------------------------------------------------
30800: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30801: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30806: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30799: ---------------------------------------------------------------------------------------------------
30800: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30801: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30806: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30807: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30800: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30801: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30806: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30807: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30808:
30802: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30806: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30807: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30808:
30809: END IF;
30810:
30803: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30804: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30805: -- 5132302
30806: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30807: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30808:
30809: END IF;
30810:
30811: -- 4955764
30808:
30809: END IF;
30810:
30811: -- 4955764
30812: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30813: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30814:
30815:
30816: XLA_AE_LINES_PKG.ValidateCurrentLine;
30812: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30813: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30814:
30815:
30816: XLA_AE_LINES_PKG.ValidateCurrentLine;
30817: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30818:
30819: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30820: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30813: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30814:
30815:
30816: XLA_AE_LINES_PKG.ValidateCurrentLine;
30817: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30818:
30819: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30820: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30821: ,p_balance_type_code => l_balance_type_code);
31019: --
31020: -- bulk performance
31021: --
31022: l_balance_type_code VARCHAR2(1);
31023: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31024: l_log_module VARCHAR2(240);
31025:
31026: --
31027: -- Upgrade strategy
31090: ') = 'Y'
31091: THEN
31092:
31093: --
31094: XLA_AE_LINES_PKG.SetNewLine;
31095:
31096: p_balance_type_code := l_balance_type_code;
31097: -- set the flag so later we will know whether the gain loss line needs to be created
31098:
31102:
31103: --
31104: -- bulk performance
31105: --
31106: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31107: p_header_num => 0); -- 4262811
31108: --
31109: -- set accounting line options
31110: --
31107: p_header_num => 0); -- 4262811
31108: --
31109: -- set accounting line options
31110: --
31111: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31112: p_natural_side_code => 'D'
31113: , p_gain_or_loss_flag => 'N'
31114: , p_gl_transfer_mode_code => 'S'
31115: , p_acct_entry_type_code => 'A'
31121: --
31122: --
31123: -- set accounting line type info
31124: --
31125: xla_ae_lines_pkg.SetAcctLineType
31126: (p_component_type => l_component_type
31127: ,p_event_type_code => l_event_type_code
31128: ,p_line_definition_owner_code => l_line_definition_owner_code
31129: ,p_line_definition_code => l_line_definition_code
31135: ,p_event_class_code => l_event_class_code);
31136: --
31137: -- set accounting class
31138: --
31139: xla_ae_lines_pkg.SetAcctClass(
31140: p_accounting_class_code => 'ACCOUNTSPAYABLE'
31141: , p_ae_header_id => l_ae_header_id
31142: );
31143:
31143:
31144: --
31145: -- set rounding class
31146: --
31147: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31148: 'ACCOUNTSPAYABLE';
31149:
31150: --
31151: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31147: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31148: 'ACCOUNTSPAYABLE';
31149:
31150: --
31151: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31152: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31153: --
31154: -- bulk performance
31155: --
31148: 'ACCOUNTSPAYABLE';
31149:
31150: --
31151: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31152: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31153: --
31154: -- bulk performance
31155: --
31156: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31152: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31153: --
31154: -- bulk performance
31155: --
31156: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31157:
31158: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31159: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31160:
31154: -- bulk performance
31155: --
31156: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31157:
31158: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31159: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31160:
31161: -- 4955764
31162: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31158: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31159: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31160:
31161: -- 4955764
31162: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31163: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31164:
31165: -- 4458381 Public Sector Enh
31166:
31268: l_rec_acct_attrs.array_num_value(43) := p_source_51;
31269: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
31270: l_rec_acct_attrs.array_num_value(44) := p_source_52;
31271:
31272: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31273: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31274:
31275: ---------------------------------------------------------------------------------------------------------------
31276: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31269: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
31270: l_rec_acct_attrs.array_num_value(44) := p_source_52;
31271:
31272: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31273: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31274:
31275: ---------------------------------------------------------------------------------------------------------------
31276: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31277: ---------------------------------------------------------------------------------------------------------------
31272: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31273: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31274:
31275: ---------------------------------------------------------------------------------------------------------------
31276: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31277: ---------------------------------------------------------------------------------------------------------------
31278: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31279:
31280: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31274:
31275: ---------------------------------------------------------------------------------------------------------------
31276: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31277: ---------------------------------------------------------------------------------------------------------------
31278: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31279:
31280: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31281: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31282:
31276: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31277: ---------------------------------------------------------------------------------------------------------------
31278: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31279:
31280: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31281: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31282:
31283: IF xla_accounting_cache_pkg.GetValueChar
31284: (p_source_code => 'LEDGER_CATEGORY_CODE'
31277: ---------------------------------------------------------------------------------------------------------------
31278: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31279:
31280: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31281: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31282:
31283: IF xla_accounting_cache_pkg.GetValueChar
31284: (p_source_code => 'LEDGER_CATEGORY_CODE'
31285: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31288: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31289: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31290: )
31291: THEN
31292: xla_ae_lines_pkg.BflowUpgEntry
31293: (p_business_method_code => l_bflow_method_code
31294: ,p_business_class_code => l_bflow_class_code
31295: ,p_balance_type => l_balance_type_code);
31296: ELSE
31305: --
31306: -- call description
31307: --
31308:
31309: xla_ae_lines_pkg.SetLineDescription(
31310: p_ae_header_id => l_ae_header_id
31311: ,p_description => Description_2 (
31312: p_application_id => p_application_id
31313: , p_ae_header_id => l_ae_header_id
31338: , x_value_type_code => l_adr_value_type_code
31339: , p_side => 'NA'
31340: );
31341:
31342: xla_ae_lines_pkg.set_ccid(
31343: p_code_combination_id => l_ccid
31344: , p_value_type_code => l_adr_value_type_code
31345: , p_transaction_coa_id => l_adr_transaction_coa_id
31346: , p_accounting_coa_id => l_adr_accounting_coa_id
31373: );
31374:
31375: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
31376:
31377: xla_ae_lines_pkg.set_segment(
31378: p_to_segment_code => 'GL_ACCOUNT'
31379: , p_segment_value => l_segment
31380: , p_from_segment_code => l_adr_value_segment_code
31381: , p_from_combination_id => l_adr_value_combination_id
31417: xla_accounting_err_pkg.build_message
31418: (p_appli_s_name => 'XLA'
31419: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31420: ,p_token_1 => 'LINE_NUMBER'
31421: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31422: ,p_token_2 => 'LINE_TYPE_NAME'
31423: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31424: l_component_type
31425: ,l_component_code
31453: --
31454: --
31455: ------------------------------------------------------------------------------------------------
31456: -- 4219869 Business Flow
31457: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31458: -- Prior Entry. Currently, the following code is always generated.
31459: ------------------------------------------------------------------------------------------------
31460: XLA_AE_LINES_PKG.ValidateCurrentLine;
31461:
31456: -- 4219869 Business Flow
31457: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31458: -- Prior Entry. Currently, the following code is always generated.
31459: ------------------------------------------------------------------------------------------------
31460: XLA_AE_LINES_PKG.ValidateCurrentLine;
31461:
31462: ------------------------------------------------------------------------------------
31463: -- 4219869 Business Flow
31464: -- Populated credit and debit amounts -- Need to generate this within IF
31462: ------------------------------------------------------------------------------------
31463: -- 4219869 Business Flow
31464: -- Populated credit and debit amounts -- Need to generate this within IF
31465: ------------------------------------------------------------------------------------
31466: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31467:
31468: ----------------------------------------------------------------------------------
31469: -- 4219869 Business Flow
31470: -- Update journal entry status -- Need to generate this within IF
31494: -- To allow MPA report to determine if it should generate report process
31495: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31496: ------------------------------------------------------------------------------------------
31497:
31498: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31499: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31500: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31501: -- call ADRs
31502: -- Bug 4922099
31495: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31496: ------------------------------------------------------------------------------------------
31497:
31498: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31499: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31500: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31501: -- call ADRs
31502: -- Bug 4922099
31503: --
31519: , x_value_type_code => l_adr_value_type_code
31520: , p_side => 'NA'
31521: );
31522:
31523: xla_ae_lines_pkg.set_ccid(
31524: p_code_combination_id => l_ccid
31525: , p_value_type_code => l_adr_value_type_code
31526: , p_transaction_coa_id => l_adr_transaction_coa_id
31527: , p_accounting_coa_id => l_adr_accounting_coa_id
31554: );
31555:
31556: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
31557:
31558: xla_ae_lines_pkg.set_segment(
31559: p_to_segment_code => 'GL_ACCOUNT'
31560: , p_segment_value => l_segment
31561: , p_from_segment_code => l_adr_value_segment_code
31562: , p_from_combination_id => l_adr_value_combination_id
31585:
31586: --
31587: -- Update the line information that should be overwritten
31588: --
31589: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31590: p_header_num => 1);
31591: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31592:
31593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31587: -- Update the line information that should be overwritten
31588: --
31589: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31590: p_header_num => 1);
31591: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31592:
31593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31594:
31595: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31589: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31590: p_header_num => 1);
31591: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31592:
31593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31594:
31595: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31596: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31597: END IF;
31592:
31593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31594:
31595: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31596: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31597: END IF;
31598:
31599: --
31600: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31599: --
31600: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31601: --
31602: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31603: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31604: ELSE
31605: ---------------------------------------------------------------------------------------------------
31606: -- 4262811a Switch Sign
31607: ---------------------------------------------------------------------------------------------------
31604: ELSE
31605: ---------------------------------------------------------------------------------------------------
31606: -- 4262811a Switch Sign
31607: ---------------------------------------------------------------------------------------------------
31608: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31609: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31605: ---------------------------------------------------------------------------------------------------
31606: -- 4262811a Switch Sign
31607: ---------------------------------------------------------------------------------------------------
31608: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31609: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31606: -- 4262811a Switch Sign
31607: ---------------------------------------------------------------------------------------------------
31608: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31609: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31614: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31607: ---------------------------------------------------------------------------------------------------
31608: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31609: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31614: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31608: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31609: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31614: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31616:
31610: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31614: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31616:
31617: END IF;
31618:
31611: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31612: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31613: -- 5132302
31614: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31615: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31616:
31617: END IF;
31618:
31619: -- 4955764
31616:
31617: END IF;
31618:
31619: -- 4955764
31620: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31621: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31622:
31623:
31624: XLA_AE_LINES_PKG.ValidateCurrentLine;
31620: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31621: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31622:
31623:
31624: XLA_AE_LINES_PKG.ValidateCurrentLine;
31625: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31626:
31627: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31628: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31621: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31622:
31623:
31624: XLA_AE_LINES_PKG.ValidateCurrentLine;
31625: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31626:
31627: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31628: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31629: ,p_balance_type_code => l_balance_type_code);
31825: --
31826: -- bulk performance
31827: --
31828: l_balance_type_code VARCHAR2(1);
31829: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31830: l_log_module VARCHAR2(240);
31831:
31832: --
31833: -- Upgrade strategy
31903: ') <> 'Y'
31904: THEN
31905:
31906: --
31907: XLA_AE_LINES_PKG.SetNewLine;
31908:
31909: p_balance_type_code := l_balance_type_code;
31910: -- set the flag so later we will know whether the gain loss line needs to be created
31911:
31915:
31916: --
31917: -- bulk performance
31918: --
31919: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31920: p_header_num => 0); -- 4262811
31921: --
31922: -- set accounting line options
31923: --
31920: p_header_num => 0); -- 4262811
31921: --
31922: -- set accounting line options
31923: --
31924: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31925: p_natural_side_code => 'C'
31926: , p_gain_or_loss_flag => 'N'
31927: , p_gl_transfer_mode_code => 'S'
31928: , p_acct_entry_type_code => 'A'
31934: --
31935: --
31936: -- set accounting line type info
31937: --
31938: xla_ae_lines_pkg.SetAcctLineType
31939: (p_component_type => l_component_type
31940: ,p_event_type_code => l_event_type_code
31941: ,p_line_definition_owner_code => l_line_definition_owner_code
31942: ,p_line_definition_code => l_line_definition_code
31948: ,p_event_class_code => l_event_class_code);
31949: --
31950: -- set accounting class
31951: --
31952: xla_ae_lines_pkg.SetAcctClass(
31953: p_accounting_class_code => 'ACCOUNTSPAYABLE'
31954: , p_ae_header_id => l_ae_header_id
31955: );
31956:
31956:
31957: --
31958: -- set rounding class
31959: --
31960: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31961: 'ACCOUNTSPAYABLE';
31962:
31963: --
31964: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31960: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31961: 'ACCOUNTSPAYABLE';
31962:
31963: --
31964: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31965: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31966: --
31967: -- bulk performance
31968: --
31961: 'ACCOUNTSPAYABLE';
31962:
31963: --
31964: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31965: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31966: --
31967: -- bulk performance
31968: --
31969: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31965: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31966: --
31967: -- bulk performance
31968: --
31969: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31970:
31971: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31972: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31973:
31967: -- bulk performance
31968: --
31969: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31970:
31971: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31972: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31973:
31974: -- 4955764
31975: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31971: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31972: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31973:
31974: -- 4955764
31975: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31976: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31977:
31978: -- 4458381 Public Sector Enh
31979:
32081: l_rec_acct_attrs.array_num_value(43) := p_source_51;
32082: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
32083: l_rec_acct_attrs.array_num_value(44) := p_source_52;
32084:
32085: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32086: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32087:
32088: ---------------------------------------------------------------------------------------------------------------
32089: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32082: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
32083: l_rec_acct_attrs.array_num_value(44) := p_source_52;
32084:
32085: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32086: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32087:
32088: ---------------------------------------------------------------------------------------------------------------
32089: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32090: ---------------------------------------------------------------------------------------------------------------
32085: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32086: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32087:
32088: ---------------------------------------------------------------------------------------------------------------
32089: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32090: ---------------------------------------------------------------------------------------------------------------
32091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32092:
32093: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32087:
32088: ---------------------------------------------------------------------------------------------------------------
32089: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32090: ---------------------------------------------------------------------------------------------------------------
32091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32092:
32093: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32094: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32095:
32089: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32090: ---------------------------------------------------------------------------------------------------------------
32091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32092:
32093: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32094: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32095:
32096: IF xla_accounting_cache_pkg.GetValueChar
32097: (p_source_code => 'LEDGER_CATEGORY_CODE'
32090: ---------------------------------------------------------------------------------------------------------------
32091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32092:
32093: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32094: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32095:
32096: IF xla_accounting_cache_pkg.GetValueChar
32097: (p_source_code => 'LEDGER_CATEGORY_CODE'
32098: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32101: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32102: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32103: )
32104: THEN
32105: xla_ae_lines_pkg.BflowUpgEntry
32106: (p_business_method_code => l_bflow_method_code
32107: ,p_business_class_code => l_bflow_class_code
32108: ,p_balance_type => l_balance_type_code);
32109: ELSE
32118: --
32119: -- call description
32120: --
32121:
32122: xla_ae_lines_pkg.SetLineDescription(
32123: p_ae_header_id => l_ae_header_id
32124: ,p_description => Description_2 (
32125: p_application_id => p_application_id
32126: , p_ae_header_id => l_ae_header_id
32151: , x_value_type_code => l_adr_value_type_code
32152: , p_side => 'NA'
32153: );
32154:
32155: xla_ae_lines_pkg.set_ccid(
32156: p_code_combination_id => l_ccid
32157: , p_value_type_code => l_adr_value_type_code
32158: , p_transaction_coa_id => l_adr_transaction_coa_id
32159: , p_accounting_coa_id => l_adr_accounting_coa_id
32183: );
32184:
32185: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32186:
32187: xla_ae_lines_pkg.set_segment(
32188: p_to_segment_code => 'GL_ACCOUNT'
32189: , p_segment_value => l_segment
32190: , p_from_segment_code => l_adr_value_segment_code
32191: , p_from_combination_id => l_adr_value_combination_id
32227: xla_accounting_err_pkg.build_message
32228: (p_appli_s_name => 'XLA'
32229: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32230: ,p_token_1 => 'LINE_NUMBER'
32231: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32232: ,p_token_2 => 'LINE_TYPE_NAME'
32233: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32234: l_component_type
32235: ,l_component_code
32263: --
32264: --
32265: ------------------------------------------------------------------------------------------------
32266: -- 4219869 Business Flow
32267: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32268: -- Prior Entry. Currently, the following code is always generated.
32269: ------------------------------------------------------------------------------------------------
32270: XLA_AE_LINES_PKG.ValidateCurrentLine;
32271:
32266: -- 4219869 Business Flow
32267: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32268: -- Prior Entry. Currently, the following code is always generated.
32269: ------------------------------------------------------------------------------------------------
32270: XLA_AE_LINES_PKG.ValidateCurrentLine;
32271:
32272: ------------------------------------------------------------------------------------
32273: -- 4219869 Business Flow
32274: -- Populated credit and debit amounts -- Need to generate this within IF
32272: ------------------------------------------------------------------------------------
32273: -- 4219869 Business Flow
32274: -- Populated credit and debit amounts -- Need to generate this within IF
32275: ------------------------------------------------------------------------------------
32276: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32277:
32278: ----------------------------------------------------------------------------------
32279: -- 4219869 Business Flow
32280: -- Update journal entry status -- Need to generate this within IF
32304: -- To allow MPA report to determine if it should generate report process
32305: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32306: ------------------------------------------------------------------------------------------
32307:
32308: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32309: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32310: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32311: -- call ADRs
32312: -- Bug 4922099
32305: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32306: ------------------------------------------------------------------------------------------
32307:
32308: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32309: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32310: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32311: -- call ADRs
32312: -- Bug 4922099
32313: --
32329: , x_value_type_code => l_adr_value_type_code
32330: , p_side => 'NA'
32331: );
32332:
32333: xla_ae_lines_pkg.set_ccid(
32334: p_code_combination_id => l_ccid
32335: , p_value_type_code => l_adr_value_type_code
32336: , p_transaction_coa_id => l_adr_transaction_coa_id
32337: , p_accounting_coa_id => l_adr_accounting_coa_id
32361: );
32362:
32363: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32364:
32365: xla_ae_lines_pkg.set_segment(
32366: p_to_segment_code => 'GL_ACCOUNT'
32367: , p_segment_value => l_segment
32368: , p_from_segment_code => l_adr_value_segment_code
32369: , p_from_combination_id => l_adr_value_combination_id
32392:
32393: --
32394: -- Update the line information that should be overwritten
32395: --
32396: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32397: p_header_num => 1);
32398: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32399:
32400: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32394: -- Update the line information that should be overwritten
32395: --
32396: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32397: p_header_num => 1);
32398: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32399:
32400: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32401:
32402: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32396: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32397: p_header_num => 1);
32398: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32399:
32400: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32401:
32402: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32403: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32404: END IF;
32399:
32400: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32401:
32402: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32403: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32404: END IF;
32405:
32406: --
32407: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32406: --
32407: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32408: --
32409: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32410: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32411: ELSE
32412: ---------------------------------------------------------------------------------------------------
32413: -- 4262811a Switch Sign
32414: ---------------------------------------------------------------------------------------------------
32411: ELSE
32412: ---------------------------------------------------------------------------------------------------
32413: -- 4262811a Switch Sign
32414: ---------------------------------------------------------------------------------------------------
32415: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32416: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32412: ---------------------------------------------------------------------------------------------------
32413: -- 4262811a Switch Sign
32414: ---------------------------------------------------------------------------------------------------
32415: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32416: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32413: -- 4262811a Switch Sign
32414: ---------------------------------------------------------------------------------------------------
32415: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32416: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32421: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32414: ---------------------------------------------------------------------------------------------------
32415: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32416: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32421: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32422: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32415: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32416: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32421: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32422: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32423:
32417: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32421: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32422: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32423:
32424: END IF;
32425:
32418: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32419: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32420: -- 5132302
32421: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32422: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32423:
32424: END IF;
32425:
32426: -- 4955764
32423:
32424: END IF;
32425:
32426: -- 4955764
32427: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32428: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32429:
32430:
32431: XLA_AE_LINES_PKG.ValidateCurrentLine;
32427: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32428: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32429:
32430:
32431: XLA_AE_LINES_PKG.ValidateCurrentLine;
32432: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32433:
32434: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32435: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32428: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32429:
32430:
32431: XLA_AE_LINES_PKG.ValidateCurrentLine;
32432: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32433:
32434: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32435: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32436: ,p_balance_type_code => l_balance_type_code);
32620: --
32621: -- bulk performance
32622: --
32623: l_balance_type_code VARCHAR2(1);
32624: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32625: l_log_module VARCHAR2(240);
32626:
32627: --
32628: -- Upgrade strategy
32700: ') <> 'Y'
32701: THEN
32702:
32703: --
32704: XLA_AE_LINES_PKG.SetNewLine;
32705:
32706: p_balance_type_code := l_balance_type_code;
32707: -- set the flag so later we will know whether the gain loss line needs to be created
32708:
32712:
32713: --
32714: -- bulk performance
32715: --
32716: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32717: p_header_num => 0); -- 4262811
32718: --
32719: -- set accounting line options
32720: --
32717: p_header_num => 0); -- 4262811
32718: --
32719: -- set accounting line options
32720: --
32721: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32722: p_natural_side_code => 'C'
32723: , p_gain_or_loss_flag => 'N'
32724: , p_gl_transfer_mode_code => 'S'
32725: , p_acct_entry_type_code => 'A'
32731: --
32732: --
32733: -- set accounting line type info
32734: --
32735: xla_ae_lines_pkg.SetAcctLineType
32736: (p_component_type => l_component_type
32737: ,p_event_type_code => l_event_type_code
32738: ,p_line_definition_owner_code => l_line_definition_owner_code
32739: ,p_line_definition_code => l_line_definition_code
32745: ,p_event_class_code => l_event_class_code);
32746: --
32747: -- set accounting class
32748: --
32749: xla_ae_lines_pkg.SetAcctClass(
32750: p_accounting_class_code => 'ACCOUNTSPAYABLE'
32751: , p_ae_header_id => l_ae_header_id
32752: );
32753:
32753:
32754: --
32755: -- set rounding class
32756: --
32757: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32758: 'ACCOUNTSPAYABLE';
32759:
32760: --
32761: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32757: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32758: 'ACCOUNTSPAYABLE';
32759:
32760: --
32761: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32762: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32763: --
32764: -- bulk performance
32765: --
32758: 'ACCOUNTSPAYABLE';
32759:
32760: --
32761: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32762: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32763: --
32764: -- bulk performance
32765: --
32766: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32762: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32763: --
32764: -- bulk performance
32765: --
32766: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32767:
32768: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32769: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32770:
32764: -- bulk performance
32765: --
32766: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32767:
32768: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32769: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32770:
32771: -- 4955764
32772: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32768: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32769: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32770:
32771: -- 4955764
32772: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32773: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32774:
32775: -- 4458381 Public Sector Enh
32776:
32868: l_rec_acct_attrs.array_num_value(38) := p_source_51;
32869: l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
32870: l_rec_acct_attrs.array_num_value(39) := p_source_52;
32871:
32872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32874:
32875: ---------------------------------------------------------------------------------------------------------------
32876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32869: l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
32870: l_rec_acct_attrs.array_num_value(39) := p_source_52;
32871:
32872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32874:
32875: ---------------------------------------------------------------------------------------------------------------
32876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32877: ---------------------------------------------------------------------------------------------------------------
32872: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32873: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32874:
32875: ---------------------------------------------------------------------------------------------------------------
32876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32877: ---------------------------------------------------------------------------------------------------------------
32878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32879:
32880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32874:
32875: ---------------------------------------------------------------------------------------------------------------
32876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32877: ---------------------------------------------------------------------------------------------------------------
32878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32879:
32880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32882:
32876: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32877: ---------------------------------------------------------------------------------------------------------------
32878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32879:
32880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32882:
32883: IF xla_accounting_cache_pkg.GetValueChar
32884: (p_source_code => 'LEDGER_CATEGORY_CODE'
32877: ---------------------------------------------------------------------------------------------------------------
32878: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32879:
32880: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32881: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32882:
32883: IF xla_accounting_cache_pkg.GetValueChar
32884: (p_source_code => 'LEDGER_CATEGORY_CODE'
32885: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32888: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32889: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32890: )
32891: THEN
32892: xla_ae_lines_pkg.BflowUpgEntry
32893: (p_business_method_code => l_bflow_method_code
32894: ,p_business_class_code => l_bflow_class_code
32895: ,p_balance_type => l_balance_type_code);
32896: ELSE
32894: ,p_business_class_code => l_bflow_class_code
32895: ,p_balance_type => l_balance_type_code);
32896: ELSE
32897: NULL;
32898: XLA_AE_LINES_PKG.business_flow_validation(
32899: p_business_method_code => l_bflow_method_code
32900: ,p_business_class_code => l_bflow_class_code
32901: ,p_inherit_description_flag => l_inherit_desc_flag);
32902: END IF;
32941: xla_accounting_err_pkg.build_message
32942: (p_appli_s_name => 'XLA'
32943: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32944: ,p_token_1 => 'LINE_NUMBER'
32945: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32946: ,p_token_2 => 'LINE_TYPE_NAME'
32947: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32948: l_component_type
32949: ,l_component_code
32977: --
32978: --
32979: ------------------------------------------------------------------------------------------------
32980: -- 4219869 Business Flow
32981: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32982: -- Prior Entry. Currently, the following code is always generated.
32983: ------------------------------------------------------------------------------------------------
32984: -- No ValidateCurrentLine for business flow method of Prior Entry
32985:
32986: ------------------------------------------------------------------------------------
32987: -- 4219869 Business Flow
32988: -- Populated credit and debit amounts -- Need to generate this within IF
32989: ------------------------------------------------------------------------------------
32990: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32991:
32992: ----------------------------------------------------------------------------------
32993: -- 4219869 Business Flow
32994: -- Update journal entry status -- Need to generate this within IF
33018: -- To allow MPA report to determine if it should generate report process
33019: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33020: ------------------------------------------------------------------------------------------
33021:
33022: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33023: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33024: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33025: -- call ADRs
33026: -- Bug 4922099
33019: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33020: ------------------------------------------------------------------------------------------
33021:
33022: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33023: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33024: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33025: -- call ADRs
33026: -- Bug 4922099
33027: --
33040:
33041: --
33042: -- Update the line information that should be overwritten
33043: --
33044: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33045: p_header_num => 1);
33046: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33047:
33048: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33042: -- Update the line information that should be overwritten
33043: --
33044: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33045: p_header_num => 1);
33046: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33047:
33048: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33049:
33050: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33044: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33045: p_header_num => 1);
33046: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33047:
33048: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33049:
33050: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33051: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33052: END IF;
33047:
33048: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33049:
33050: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33051: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33052: END IF;
33053:
33054: --
33055: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33054: --
33055: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33056: --
33057: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33058: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33059: ELSE
33060: ---------------------------------------------------------------------------------------------------
33061: -- 4262811a Switch Sign
33062: ---------------------------------------------------------------------------------------------------
33059: ELSE
33060: ---------------------------------------------------------------------------------------------------
33061: -- 4262811a Switch Sign
33062: ---------------------------------------------------------------------------------------------------
33063: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33064: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33060: ---------------------------------------------------------------------------------------------------
33061: -- 4262811a Switch Sign
33062: ---------------------------------------------------------------------------------------------------
33063: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33064: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33061: -- 4262811a Switch Sign
33062: ---------------------------------------------------------------------------------------------------
33063: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33064: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33069: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33062: ---------------------------------------------------------------------------------------------------
33063: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33064: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33069: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33070: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33063: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33064: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33069: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33070: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33071:
33065: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33069: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33070: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33071:
33072: END IF;
33073:
33066: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33067: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33068: -- 5132302
33069: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33070: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33071:
33072: END IF;
33073:
33074: -- 4955764
33071:
33072: END IF;
33073:
33074: -- 4955764
33075: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33076: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33077:
33078:
33079: XLA_AE_LINES_PKG.ValidateCurrentLine;
33075: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33076: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33077:
33078:
33079: XLA_AE_LINES_PKG.ValidateCurrentLine;
33080: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33081:
33082: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33083: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33076: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33077:
33078:
33079: XLA_AE_LINES_PKG.ValidateCurrentLine;
33080: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33081:
33082: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33083: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33084: ,p_balance_type_code => l_balance_type_code);
33280: --
33281: -- bulk performance
33282: --
33283: l_balance_type_code VARCHAR2(1);
33284: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33285: l_log_module VARCHAR2(240);
33286:
33287: --
33288: -- Upgrade strategy
33358: ') <> 'Y'
33359: THEN
33360:
33361: --
33362: XLA_AE_LINES_PKG.SetNewLine;
33363:
33364: p_balance_type_code := l_balance_type_code;
33365: -- set the flag so later we will know whether the gain loss line needs to be created
33366:
33370:
33371: --
33372: -- bulk performance
33373: --
33374: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33375: p_header_num => 0); -- 4262811
33376: --
33377: -- set accounting line options
33378: --
33375: p_header_num => 0); -- 4262811
33376: --
33377: -- set accounting line options
33378: --
33379: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33380: p_natural_side_code => 'D'
33381: , p_gain_or_loss_flag => 'N'
33382: , p_gl_transfer_mode_code => 'S'
33383: , p_acct_entry_type_code => 'A'
33389: --
33390: --
33391: -- set accounting line type info
33392: --
33393: xla_ae_lines_pkg.SetAcctLineType
33394: (p_component_type => l_component_type
33395: ,p_event_type_code => l_event_type_code
33396: ,p_line_definition_owner_code => l_line_definition_owner_code
33397: ,p_line_definition_code => l_line_definition_code
33403: ,p_event_class_code => l_event_class_code);
33404: --
33405: -- set accounting class
33406: --
33407: xla_ae_lines_pkg.SetAcctClass(
33408: p_accounting_class_code => 'ACCOUNTSPAYABLE'
33409: , p_ae_header_id => l_ae_header_id
33410: );
33411:
33411:
33412: --
33413: -- set rounding class
33414: --
33415: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33416: 'ACCOUNTSPAYABLE';
33417:
33418: --
33419: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33415: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33416: 'ACCOUNTSPAYABLE';
33417:
33418: --
33419: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33420: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33421: --
33422: -- bulk performance
33423: --
33416: 'ACCOUNTSPAYABLE';
33417:
33418: --
33419: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33420: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33421: --
33422: -- bulk performance
33423: --
33424: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33420: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33421: --
33422: -- bulk performance
33423: --
33424: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33425:
33426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33427: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33428:
33422: -- bulk performance
33423: --
33424: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33425:
33426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33427: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33428:
33429: -- 4955764
33430: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33427: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33428:
33429: -- 4955764
33430: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33431: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33432:
33433: -- 4458381 Public Sector Enh
33434:
33536: l_rec_acct_attrs.array_num_value(43) := p_source_51;
33537: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
33538: l_rec_acct_attrs.array_num_value(44) := p_source_52;
33539:
33540: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33541: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33542:
33543: ---------------------------------------------------------------------------------------------------------------
33544: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33537: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
33538: l_rec_acct_attrs.array_num_value(44) := p_source_52;
33539:
33540: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33541: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33542:
33543: ---------------------------------------------------------------------------------------------------------------
33544: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33545: ---------------------------------------------------------------------------------------------------------------
33540: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33541: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33542:
33543: ---------------------------------------------------------------------------------------------------------------
33544: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33545: ---------------------------------------------------------------------------------------------------------------
33546: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33547:
33548: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33542:
33543: ---------------------------------------------------------------------------------------------------------------
33544: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33545: ---------------------------------------------------------------------------------------------------------------
33546: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33547:
33548: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33549: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33550:
33544: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33545: ---------------------------------------------------------------------------------------------------------------
33546: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33547:
33548: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33549: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33550:
33551: IF xla_accounting_cache_pkg.GetValueChar
33552: (p_source_code => 'LEDGER_CATEGORY_CODE'
33545: ---------------------------------------------------------------------------------------------------------------
33546: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33547:
33548: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33549: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33550:
33551: IF xla_accounting_cache_pkg.GetValueChar
33552: (p_source_code => 'LEDGER_CATEGORY_CODE'
33553: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33556: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33557: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33558: )
33559: THEN
33560: xla_ae_lines_pkg.BflowUpgEntry
33561: (p_business_method_code => l_bflow_method_code
33562: ,p_business_class_code => l_bflow_class_code
33563: ,p_balance_type => l_balance_type_code);
33564: ELSE
33596: , x_value_type_code => l_adr_value_type_code
33597: , p_side => 'NA'
33598: );
33599:
33600: xla_ae_lines_pkg.set_ccid(
33601: p_code_combination_id => l_ccid
33602: , p_value_type_code => l_adr_value_type_code
33603: , p_transaction_coa_id => l_adr_transaction_coa_id
33604: , p_accounting_coa_id => l_adr_accounting_coa_id
33629: );
33630:
33631: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33632:
33633: xla_ae_lines_pkg.set_segment(
33634: p_to_segment_code => 'GL_ACCOUNT'
33635: , p_segment_value => l_segment
33636: , p_from_segment_code => l_adr_value_segment_code
33637: , p_from_combination_id => l_adr_value_combination_id
33673: xla_accounting_err_pkg.build_message
33674: (p_appli_s_name => 'XLA'
33675: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33676: ,p_token_1 => 'LINE_NUMBER'
33677: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33678: ,p_token_2 => 'LINE_TYPE_NAME'
33679: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33680: l_component_type
33681: ,l_component_code
33709: --
33710: --
33711: ------------------------------------------------------------------------------------------------
33712: -- 4219869 Business Flow
33713: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33714: -- Prior Entry. Currently, the following code is always generated.
33715: ------------------------------------------------------------------------------------------------
33716: XLA_AE_LINES_PKG.ValidateCurrentLine;
33717:
33712: -- 4219869 Business Flow
33713: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33714: -- Prior Entry. Currently, the following code is always generated.
33715: ------------------------------------------------------------------------------------------------
33716: XLA_AE_LINES_PKG.ValidateCurrentLine;
33717:
33718: ------------------------------------------------------------------------------------
33719: -- 4219869 Business Flow
33720: -- Populated credit and debit amounts -- Need to generate this within IF
33718: ------------------------------------------------------------------------------------
33719: -- 4219869 Business Flow
33720: -- Populated credit and debit amounts -- Need to generate this within IF
33721: ------------------------------------------------------------------------------------
33722: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33723:
33724: ----------------------------------------------------------------------------------
33725: -- 4219869 Business Flow
33726: -- Update journal entry status -- Need to generate this within IF
33750: -- To allow MPA report to determine if it should generate report process
33751: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33752: ------------------------------------------------------------------------------------------
33753:
33754: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33755: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33756: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33757: -- call ADRs
33758: -- Bug 4922099
33751: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33752: ------------------------------------------------------------------------------------------
33753:
33754: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33755: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33756: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33757: -- call ADRs
33758: -- Bug 4922099
33759: --
33775: , x_value_type_code => l_adr_value_type_code
33776: , p_side => 'NA'
33777: );
33778:
33779: xla_ae_lines_pkg.set_ccid(
33780: p_code_combination_id => l_ccid
33781: , p_value_type_code => l_adr_value_type_code
33782: , p_transaction_coa_id => l_adr_transaction_coa_id
33783: , p_accounting_coa_id => l_adr_accounting_coa_id
33808: );
33809:
33810: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33811:
33812: xla_ae_lines_pkg.set_segment(
33813: p_to_segment_code => 'GL_ACCOUNT'
33814: , p_segment_value => l_segment
33815: , p_from_segment_code => l_adr_value_segment_code
33816: , p_from_combination_id => l_adr_value_combination_id
33839:
33840: --
33841: -- Update the line information that should be overwritten
33842: --
33843: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33844: p_header_num => 1);
33845: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33846:
33847: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33841: -- Update the line information that should be overwritten
33842: --
33843: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33844: p_header_num => 1);
33845: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33846:
33847: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33848:
33849: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33843: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33844: p_header_num => 1);
33845: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33846:
33847: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33848:
33849: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33850: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33851: END IF;
33846:
33847: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33848:
33849: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33850: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33851: END IF;
33852:
33853: --
33854: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33853: --
33854: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33855: --
33856: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33857: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33858: ELSE
33859: ---------------------------------------------------------------------------------------------------
33860: -- 4262811a Switch Sign
33861: ---------------------------------------------------------------------------------------------------
33858: ELSE
33859: ---------------------------------------------------------------------------------------------------
33860: -- 4262811a Switch Sign
33861: ---------------------------------------------------------------------------------------------------
33862: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33863: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33859: ---------------------------------------------------------------------------------------------------
33860: -- 4262811a Switch Sign
33861: ---------------------------------------------------------------------------------------------------
33862: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33863: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33860: -- 4262811a Switch Sign
33861: ---------------------------------------------------------------------------------------------------
33862: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33863: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33868: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33861: ---------------------------------------------------------------------------------------------------
33862: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33863: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33868: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33869: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33862: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33863: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33868: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33869: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33870:
33864: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33868: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33869: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33870:
33871: END IF;
33872:
33865: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33866: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33867: -- 5132302
33868: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33869: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33870:
33871: END IF;
33872:
33873: -- 4955764
33870:
33871: END IF;
33872:
33873: -- 4955764
33874: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33875: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33876:
33877:
33878: XLA_AE_LINES_PKG.ValidateCurrentLine;
33874: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33875: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33876:
33877:
33878: XLA_AE_LINES_PKG.ValidateCurrentLine;
33879: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33880:
33881: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33882: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33875: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33876:
33877:
33878: XLA_AE_LINES_PKG.ValidateCurrentLine;
33879: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33880:
33881: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33882: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33883: ,p_balance_type_code => l_balance_type_code);
34081: --
34082: -- bulk performance
34083: --
34084: l_balance_type_code VARCHAR2(1);
34085: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34086: l_log_module VARCHAR2(240);
34087:
34088: --
34089: -- Upgrade strategy
34161: ') = 'Expired'
34162: THEN
34163:
34164: --
34165: XLA_AE_LINES_PKG.SetNewLine;
34166:
34167: p_balance_type_code := l_balance_type_code;
34168: -- set the flag so later we will know whether the gain loss line needs to be created
34169:
34173:
34174: --
34175: -- bulk performance
34176: --
34177: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34178: p_header_num => 0); -- 4262811
34179: --
34180: -- set accounting line options
34181: --
34178: p_header_num => 0); -- 4262811
34179: --
34180: -- set accounting line options
34181: --
34182: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34183: p_natural_side_code => 'D'
34184: , p_gain_or_loss_flag => 'N'
34185: , p_gl_transfer_mode_code => 'S'
34186: , p_acct_entry_type_code => 'A'
34192: --
34193: --
34194: -- set accounting line type info
34195: --
34196: xla_ae_lines_pkg.SetAcctLineType
34197: (p_component_type => l_component_type
34198: ,p_event_type_code => l_event_type_code
34199: ,p_line_definition_owner_code => l_line_definition_owner_code
34200: ,p_line_definition_code => l_line_definition_code
34206: ,p_event_class_code => l_event_class_code);
34207: --
34208: -- set accounting class
34209: --
34210: xla_ae_lines_pkg.SetAcctClass(
34211: p_accounting_class_code => 'ACCOUNTSPAYABLE'
34212: , p_ae_header_id => l_ae_header_id
34213: );
34214:
34214:
34215: --
34216: -- set rounding class
34217: --
34218: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34219: 'ACCOUNTSPAYABLE';
34220:
34221: --
34222: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34218: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34219: 'ACCOUNTSPAYABLE';
34220:
34221: --
34222: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34223: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34224: --
34225: -- bulk performance
34226: --
34219: 'ACCOUNTSPAYABLE';
34220:
34221: --
34222: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34223: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34224: --
34225: -- bulk performance
34226: --
34227: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34223: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34224: --
34225: -- bulk performance
34226: --
34227: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34228:
34229: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34230: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34231:
34225: -- bulk performance
34226: --
34227: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34228:
34229: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34230: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34231:
34232: -- 4955764
34233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34229: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34230: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34231:
34232: -- 4955764
34233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34235:
34236: -- 4458381 Public Sector Enh
34237:
34339: l_rec_acct_attrs.array_num_value(43) := p_source_51;
34340: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
34341: l_rec_acct_attrs.array_num_value(44) := p_source_52;
34342:
34343: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34344: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34345:
34346: ---------------------------------------------------------------------------------------------------------------
34347: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34340: l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
34341: l_rec_acct_attrs.array_num_value(44) := p_source_52;
34342:
34343: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34344: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34345:
34346: ---------------------------------------------------------------------------------------------------------------
34347: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34348: ---------------------------------------------------------------------------------------------------------------
34343: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34344: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34345:
34346: ---------------------------------------------------------------------------------------------------------------
34347: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34348: ---------------------------------------------------------------------------------------------------------------
34349: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34350:
34351: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34345:
34346: ---------------------------------------------------------------------------------------------------------------
34347: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34348: ---------------------------------------------------------------------------------------------------------------
34349: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34350:
34351: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34352: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34353:
34347: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34348: ---------------------------------------------------------------------------------------------------------------
34349: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34350:
34351: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34352: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34353:
34354: IF xla_accounting_cache_pkg.GetValueChar
34355: (p_source_code => 'LEDGER_CATEGORY_CODE'
34348: ---------------------------------------------------------------------------------------------------------------
34349: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34350:
34351: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34352: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34353:
34354: IF xla_accounting_cache_pkg.GetValueChar
34355: (p_source_code => 'LEDGER_CATEGORY_CODE'
34356: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34359: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34360: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34361: )
34362: THEN
34363: xla_ae_lines_pkg.BflowUpgEntry
34364: (p_business_method_code => l_bflow_method_code
34365: ,p_business_class_code => l_bflow_class_code
34366: ,p_balance_type => l_balance_type_code);
34367: ELSE
34376: --
34377: -- call description
34378: --
34379:
34380: xla_ae_lines_pkg.SetLineDescription(
34381: p_ae_header_id => l_ae_header_id
34382: ,p_description => Description_2 (
34383: p_application_id => p_application_id
34384: , p_ae_header_id => l_ae_header_id
34409: , x_value_type_code => l_adr_value_type_code
34410: , p_side => 'NA'
34411: );
34412:
34413: xla_ae_lines_pkg.set_ccid(
34414: p_code_combination_id => l_ccid
34415: , p_value_type_code => l_adr_value_type_code
34416: , p_transaction_coa_id => l_adr_transaction_coa_id
34417: , p_accounting_coa_id => l_adr_accounting_coa_id
34441: );
34442:
34443: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34444:
34445: xla_ae_lines_pkg.set_segment(
34446: p_to_segment_code => 'GL_ACCOUNT'
34447: , p_segment_value => l_segment
34448: , p_from_segment_code => l_adr_value_segment_code
34449: , p_from_combination_id => l_adr_value_combination_id
34485: xla_accounting_err_pkg.build_message
34486: (p_appli_s_name => 'XLA'
34487: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34488: ,p_token_1 => 'LINE_NUMBER'
34489: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34490: ,p_token_2 => 'LINE_TYPE_NAME'
34491: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34492: l_component_type
34493: ,l_component_code
34521: --
34522: --
34523: ------------------------------------------------------------------------------------------------
34524: -- 4219869 Business Flow
34525: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34526: -- Prior Entry. Currently, the following code is always generated.
34527: ------------------------------------------------------------------------------------------------
34528: XLA_AE_LINES_PKG.ValidateCurrentLine;
34529:
34524: -- 4219869 Business Flow
34525: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34526: -- Prior Entry. Currently, the following code is always generated.
34527: ------------------------------------------------------------------------------------------------
34528: XLA_AE_LINES_PKG.ValidateCurrentLine;
34529:
34530: ------------------------------------------------------------------------------------
34531: -- 4219869 Business Flow
34532: -- Populated credit and debit amounts -- Need to generate this within IF
34530: ------------------------------------------------------------------------------------
34531: -- 4219869 Business Flow
34532: -- Populated credit and debit amounts -- Need to generate this within IF
34533: ------------------------------------------------------------------------------------
34534: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34535:
34536: ----------------------------------------------------------------------------------
34537: -- 4219869 Business Flow
34538: -- Update journal entry status -- Need to generate this within IF
34562: -- To allow MPA report to determine if it should generate report process
34563: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34564: ------------------------------------------------------------------------------------------
34565:
34566: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34567: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34568: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34569: -- call ADRs
34570: -- Bug 4922099
34563: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34564: ------------------------------------------------------------------------------------------
34565:
34566: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34567: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34568: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34569: -- call ADRs
34570: -- Bug 4922099
34571: --
34587: , x_value_type_code => l_adr_value_type_code
34588: , p_side => 'NA'
34589: );
34590:
34591: xla_ae_lines_pkg.set_ccid(
34592: p_code_combination_id => l_ccid
34593: , p_value_type_code => l_adr_value_type_code
34594: , p_transaction_coa_id => l_adr_transaction_coa_id
34595: , p_accounting_coa_id => l_adr_accounting_coa_id
34619: );
34620:
34621: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34622:
34623: xla_ae_lines_pkg.set_segment(
34624: p_to_segment_code => 'GL_ACCOUNT'
34625: , p_segment_value => l_segment
34626: , p_from_segment_code => l_adr_value_segment_code
34627: , p_from_combination_id => l_adr_value_combination_id
34650:
34651: --
34652: -- Update the line information that should be overwritten
34653: --
34654: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34655: p_header_num => 1);
34656: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34657:
34658: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34652: -- Update the line information that should be overwritten
34653: --
34654: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34655: p_header_num => 1);
34656: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34657:
34658: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34659:
34660: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34654: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34655: p_header_num => 1);
34656: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34657:
34658: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34659:
34660: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34661: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34662: END IF;
34657:
34658: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34659:
34660: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34661: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34662: END IF;
34663:
34664: --
34665: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34664: --
34665: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34666: --
34667: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34668: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34669: ELSE
34670: ---------------------------------------------------------------------------------------------------
34671: -- 4262811a Switch Sign
34672: ---------------------------------------------------------------------------------------------------
34669: ELSE
34670: ---------------------------------------------------------------------------------------------------
34671: -- 4262811a Switch Sign
34672: ---------------------------------------------------------------------------------------------------
34673: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34674: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34670: ---------------------------------------------------------------------------------------------------
34671: -- 4262811a Switch Sign
34672: ---------------------------------------------------------------------------------------------------
34673: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34674: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34671: -- 4262811a Switch Sign
34672: ---------------------------------------------------------------------------------------------------
34673: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34674: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34679: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34672: ---------------------------------------------------------------------------------------------------
34673: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34674: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34679: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34680: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34673: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34674: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34679: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34680: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34681:
34675: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34679: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34680: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34681:
34682: END IF;
34683:
34676: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34677: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34678: -- 5132302
34679: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34680: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34681:
34682: END IF;
34683:
34684: -- 4955764
34681:
34682: END IF;
34683:
34684: -- 4955764
34685: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34686: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34687:
34688:
34689: XLA_AE_LINES_PKG.ValidateCurrentLine;
34685: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34686: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34687:
34688:
34689: XLA_AE_LINES_PKG.ValidateCurrentLine;
34690: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34691:
34692: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34693: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34686: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34687:
34688:
34689: XLA_AE_LINES_PKG.ValidateCurrentLine;
34690: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34691:
34692: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34693: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34694: ,p_balance_type_code => l_balance_type_code);
34883: --
34884: -- bulk performance
34885: --
34886: l_balance_type_code VARCHAR2(1);
34887: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34888: l_log_module VARCHAR2(240);
34889:
34890: --
34891: -- Upgrade strategy
34952: ') = 'PREPAYMENT'
34953: THEN
34954:
34955: --
34956: XLA_AE_LINES_PKG.SetNewLine;
34957:
34958: p_balance_type_code := l_balance_type_code;
34959: -- set the flag so later we will know whether the gain loss line needs to be created
34960:
34964:
34965: --
34966: -- bulk performance
34967: --
34968: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34969: p_header_num => 0); -- 4262811
34970: --
34971: -- set accounting line options
34972: --
34969: p_header_num => 0); -- 4262811
34970: --
34971: -- set accounting line options
34972: --
34973: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34974: p_natural_side_code => 'C'
34975: , p_gain_or_loss_flag => 'N'
34976: , p_gl_transfer_mode_code => 'S'
34977: , p_acct_entry_type_code => 'A'
34983: --
34984: --
34985: -- set accounting line type info
34986: --
34987: xla_ae_lines_pkg.SetAcctLineType
34988: (p_component_type => l_component_type
34989: ,p_event_type_code => l_event_type_code
34990: ,p_line_definition_owner_code => l_line_definition_owner_code
34991: ,p_line_definition_code => l_line_definition_code
34997: ,p_event_class_code => l_event_class_code);
34998: --
34999: -- set accounting class
35000: --
35001: xla_ae_lines_pkg.SetAcctClass(
35002: p_accounting_class_code => 'ACCOUNTSPAYABLE'
35003: , p_ae_header_id => l_ae_header_id
35004: );
35005:
35005:
35006: --
35007: -- set rounding class
35008: --
35009: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35010: 'ACCOUNTSPAYABLE';
35011:
35012: --
35013: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35009: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35010: 'ACCOUNTSPAYABLE';
35011:
35012: --
35013: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35014: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35015: --
35016: -- bulk performance
35017: --
35010: 'ACCOUNTSPAYABLE';
35011:
35012: --
35013: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35014: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35015: --
35016: -- bulk performance
35017: --
35018: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35014: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35015: --
35016: -- bulk performance
35017: --
35018: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35019:
35020: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35021: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35022:
35016: -- bulk performance
35017: --
35018: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35019:
35020: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35021: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35022:
35023: -- 4955764
35024: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35020: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35021: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35022:
35023: -- 4955764
35024: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35025: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35026:
35027: -- 4458381 Public Sector Enh
35028:
35128: l_rec_acct_attrs.array_num_value(42) := p_source_51;
35129: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35130: l_rec_acct_attrs.array_num_value(43) := p_source_52;
35131:
35132: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35133: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35134:
35135: ---------------------------------------------------------------------------------------------------------------
35136: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35129: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35130: l_rec_acct_attrs.array_num_value(43) := p_source_52;
35131:
35132: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35133: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35134:
35135: ---------------------------------------------------------------------------------------------------------------
35136: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35137: ---------------------------------------------------------------------------------------------------------------
35132: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35133: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35134:
35135: ---------------------------------------------------------------------------------------------------------------
35136: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35137: ---------------------------------------------------------------------------------------------------------------
35138: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35139:
35140: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35134:
35135: ---------------------------------------------------------------------------------------------------------------
35136: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35137: ---------------------------------------------------------------------------------------------------------------
35138: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35139:
35140: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35141: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35142:
35136: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35137: ---------------------------------------------------------------------------------------------------------------
35138: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35139:
35140: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35141: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35142:
35143: IF xla_accounting_cache_pkg.GetValueChar
35144: (p_source_code => 'LEDGER_CATEGORY_CODE'
35137: ---------------------------------------------------------------------------------------------------------------
35138: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35139:
35140: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35141: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35142:
35143: IF xla_accounting_cache_pkg.GetValueChar
35144: (p_source_code => 'LEDGER_CATEGORY_CODE'
35145: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35148: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35149: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35150: )
35151: THEN
35152: xla_ae_lines_pkg.BflowUpgEntry
35153: (p_business_method_code => l_bflow_method_code
35154: ,p_business_class_code => l_bflow_class_code
35155: ,p_balance_type => l_balance_type_code);
35156: ELSE
35165: --
35166: -- call description
35167: --
35168:
35169: xla_ae_lines_pkg.SetLineDescription(
35170: p_ae_header_id => l_ae_header_id
35171: ,p_description => Description_2 (
35172: p_application_id => p_application_id
35173: , p_ae_header_id => l_ae_header_id
35198: , x_value_type_code => l_adr_value_type_code
35199: , p_side => 'NA'
35200: );
35201:
35202: xla_ae_lines_pkg.set_ccid(
35203: p_code_combination_id => l_ccid
35204: , p_value_type_code => l_adr_value_type_code
35205: , p_transaction_coa_id => l_adr_transaction_coa_id
35206: , p_accounting_coa_id => l_adr_accounting_coa_id
35230: );
35231:
35232: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35233:
35234: xla_ae_lines_pkg.set_segment(
35235: p_to_segment_code => 'GL_ACCOUNT'
35236: , p_segment_value => l_segment
35237: , p_from_segment_code => l_adr_value_segment_code
35238: , p_from_combination_id => l_adr_value_combination_id
35274: xla_accounting_err_pkg.build_message
35275: (p_appli_s_name => 'XLA'
35276: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35277: ,p_token_1 => 'LINE_NUMBER'
35278: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35279: ,p_token_2 => 'LINE_TYPE_NAME'
35280: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35281: l_component_type
35282: ,l_component_code
35310: --
35311: --
35312: ------------------------------------------------------------------------------------------------
35313: -- 4219869 Business Flow
35314: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35315: -- Prior Entry. Currently, the following code is always generated.
35316: ------------------------------------------------------------------------------------------------
35317: XLA_AE_LINES_PKG.ValidateCurrentLine;
35318:
35313: -- 4219869 Business Flow
35314: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35315: -- Prior Entry. Currently, the following code is always generated.
35316: ------------------------------------------------------------------------------------------------
35317: XLA_AE_LINES_PKG.ValidateCurrentLine;
35318:
35319: ------------------------------------------------------------------------------------
35320: -- 4219869 Business Flow
35321: -- Populated credit and debit amounts -- Need to generate this within IF
35319: ------------------------------------------------------------------------------------
35320: -- 4219869 Business Flow
35321: -- Populated credit and debit amounts -- Need to generate this within IF
35322: ------------------------------------------------------------------------------------
35323: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35324:
35325: ----------------------------------------------------------------------------------
35326: -- 4219869 Business Flow
35327: -- Update journal entry status -- Need to generate this within IF
35351: -- To allow MPA report to determine if it should generate report process
35352: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35353: ------------------------------------------------------------------------------------------
35354:
35355: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35356: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35357: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35358: -- call ADRs
35359: -- Bug 4922099
35352: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35353: ------------------------------------------------------------------------------------------
35354:
35355: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35356: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35357: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35358: -- call ADRs
35359: -- Bug 4922099
35360: --
35376: , x_value_type_code => l_adr_value_type_code
35377: , p_side => 'NA'
35378: );
35379:
35380: xla_ae_lines_pkg.set_ccid(
35381: p_code_combination_id => l_ccid
35382: , p_value_type_code => l_adr_value_type_code
35383: , p_transaction_coa_id => l_adr_transaction_coa_id
35384: , p_accounting_coa_id => l_adr_accounting_coa_id
35408: );
35409:
35410: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35411:
35412: xla_ae_lines_pkg.set_segment(
35413: p_to_segment_code => 'GL_ACCOUNT'
35414: , p_segment_value => l_segment
35415: , p_from_segment_code => l_adr_value_segment_code
35416: , p_from_combination_id => l_adr_value_combination_id
35439:
35440: --
35441: -- Update the line information that should be overwritten
35442: --
35443: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35444: p_header_num => 1);
35445: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35446:
35447: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35441: -- Update the line information that should be overwritten
35442: --
35443: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35444: p_header_num => 1);
35445: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35446:
35447: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35448:
35449: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35443: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35444: p_header_num => 1);
35445: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35446:
35447: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35448:
35449: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35450: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35451: END IF;
35446:
35447: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35448:
35449: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35450: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35451: END IF;
35452:
35453: --
35454: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35453: --
35454: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35455: --
35456: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35457: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35458: ELSE
35459: ---------------------------------------------------------------------------------------------------
35460: -- 4262811a Switch Sign
35461: ---------------------------------------------------------------------------------------------------
35458: ELSE
35459: ---------------------------------------------------------------------------------------------------
35460: -- 4262811a Switch Sign
35461: ---------------------------------------------------------------------------------------------------
35462: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35459: ---------------------------------------------------------------------------------------------------
35460: -- 4262811a Switch Sign
35461: ---------------------------------------------------------------------------------------------------
35462: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35460: -- 4262811a Switch Sign
35461: ---------------------------------------------------------------------------------------------------
35462: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35461: ---------------------------------------------------------------------------------------------------
35462: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35469: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35462: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35463: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35469: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35470:
35464: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35469: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35470:
35471: END IF;
35472:
35465: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35466: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35467: -- 5132302
35468: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35469: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35470:
35471: END IF;
35472:
35473: -- 4955764
35470:
35471: END IF;
35472:
35473: -- 4955764
35474: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35475: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35476:
35477:
35478: XLA_AE_LINES_PKG.ValidateCurrentLine;
35474: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35475: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35476:
35477:
35478: XLA_AE_LINES_PKG.ValidateCurrentLine;
35479: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35480:
35481: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35482: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35475: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35476:
35477:
35478: XLA_AE_LINES_PKG.ValidateCurrentLine;
35479: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35480:
35481: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35482: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35483: ,p_balance_type_code => l_balance_type_code);
35678: --
35679: -- bulk performance
35680: --
35681: l_balance_type_code VARCHAR2(1);
35682: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35683: l_log_module VARCHAR2(240);
35684:
35685: --
35686: -- Upgrade strategy
35747: ') = 'PREPAYMENT'
35748: THEN
35749:
35750: --
35751: XLA_AE_LINES_PKG.SetNewLine;
35752:
35753: p_balance_type_code := l_balance_type_code;
35754: -- set the flag so later we will know whether the gain loss line needs to be created
35755:
35759:
35760: --
35761: -- bulk performance
35762: --
35763: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35764: p_header_num => 0); -- 4262811
35765: --
35766: -- set accounting line options
35767: --
35764: p_header_num => 0); -- 4262811
35765: --
35766: -- set accounting line options
35767: --
35768: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35769: p_natural_side_code => 'D'
35770: , p_gain_or_loss_flag => 'N'
35771: , p_gl_transfer_mode_code => 'S'
35772: , p_acct_entry_type_code => 'A'
35778: --
35779: --
35780: -- set accounting line type info
35781: --
35782: xla_ae_lines_pkg.SetAcctLineType
35783: (p_component_type => l_component_type
35784: ,p_event_type_code => l_event_type_code
35785: ,p_line_definition_owner_code => l_line_definition_owner_code
35786: ,p_line_definition_code => l_line_definition_code
35792: ,p_event_class_code => l_event_class_code);
35793: --
35794: -- set accounting class
35795: --
35796: xla_ae_lines_pkg.SetAcctClass(
35797: p_accounting_class_code => 'ACCOUNTSPAYABLE'
35798: , p_ae_header_id => l_ae_header_id
35799: );
35800:
35800:
35801: --
35802: -- set rounding class
35803: --
35804: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35805: 'ACCOUNTSPAYABLE';
35806:
35807: --
35808: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35804: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35805: 'ACCOUNTSPAYABLE';
35806:
35807: --
35808: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35809: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35810: --
35811: -- bulk performance
35812: --
35805: 'ACCOUNTSPAYABLE';
35806:
35807: --
35808: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35809: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35810: --
35811: -- bulk performance
35812: --
35813: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35809: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35810: --
35811: -- bulk performance
35812: --
35813: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35814:
35815: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35816: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35817:
35811: -- bulk performance
35812: --
35813: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35814:
35815: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35816: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35817:
35818: -- 4955764
35819: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35815: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35816: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35817:
35818: -- 4955764
35819: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35820: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35821:
35822: -- 4458381 Public Sector Enh
35823:
35923: l_rec_acct_attrs.array_num_value(42) := p_source_51;
35924: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35925: l_rec_acct_attrs.array_num_value(43) := p_source_52;
35926:
35927: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35928: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35929:
35930: ---------------------------------------------------------------------------------------------------------------
35931: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35924: l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35925: l_rec_acct_attrs.array_num_value(43) := p_source_52;
35926:
35927: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35928: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35929:
35930: ---------------------------------------------------------------------------------------------------------------
35931: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35932: ---------------------------------------------------------------------------------------------------------------
35927: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35928: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35929:
35930: ---------------------------------------------------------------------------------------------------------------
35931: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35932: ---------------------------------------------------------------------------------------------------------------
35933: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35934:
35935: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35929:
35930: ---------------------------------------------------------------------------------------------------------------
35931: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35932: ---------------------------------------------------------------------------------------------------------------
35933: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35934:
35935: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35936: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35937:
35931: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35932: ---------------------------------------------------------------------------------------------------------------
35933: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35934:
35935: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35936: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35937:
35938: IF xla_accounting_cache_pkg.GetValueChar
35939: (p_source_code => 'LEDGER_CATEGORY_CODE'
35932: ---------------------------------------------------------------------------------------------------------------
35933: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35934:
35935: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35936: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35937:
35938: IF xla_accounting_cache_pkg.GetValueChar
35939: (p_source_code => 'LEDGER_CATEGORY_CODE'
35940: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35943: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35944: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35945: )
35946: THEN
35947: xla_ae_lines_pkg.BflowUpgEntry
35948: (p_business_method_code => l_bflow_method_code
35949: ,p_business_class_code => l_bflow_class_code
35950: ,p_balance_type => l_balance_type_code);
35951: ELSE
35960: --
35961: -- call description
35962: --
35963:
35964: xla_ae_lines_pkg.SetLineDescription(
35965: p_ae_header_id => l_ae_header_id
35966: ,p_description => Description_2 (
35967: p_application_id => p_application_id
35968: , p_ae_header_id => l_ae_header_id
35993: , x_value_type_code => l_adr_value_type_code
35994: , p_side => 'NA'
35995: );
35996:
35997: xla_ae_lines_pkg.set_ccid(
35998: p_code_combination_id => l_ccid
35999: , p_value_type_code => l_adr_value_type_code
36000: , p_transaction_coa_id => l_adr_transaction_coa_id
36001: , p_accounting_coa_id => l_adr_accounting_coa_id
36028: );
36029:
36030: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36031:
36032: xla_ae_lines_pkg.set_segment(
36033: p_to_segment_code => 'GL_ACCOUNT'
36034: , p_segment_value => l_segment
36035: , p_from_segment_code => l_adr_value_segment_code
36036: , p_from_combination_id => l_adr_value_combination_id
36072: xla_accounting_err_pkg.build_message
36073: (p_appli_s_name => 'XLA'
36074: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36075: ,p_token_1 => 'LINE_NUMBER'
36076: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36077: ,p_token_2 => 'LINE_TYPE_NAME'
36078: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36079: l_component_type
36080: ,l_component_code
36108: --
36109: --
36110: ------------------------------------------------------------------------------------------------
36111: -- 4219869 Business Flow
36112: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36113: -- Prior Entry. Currently, the following code is always generated.
36114: ------------------------------------------------------------------------------------------------
36115: XLA_AE_LINES_PKG.ValidateCurrentLine;
36116:
36111: -- 4219869 Business Flow
36112: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36113: -- Prior Entry. Currently, the following code is always generated.
36114: ------------------------------------------------------------------------------------------------
36115: XLA_AE_LINES_PKG.ValidateCurrentLine;
36116:
36117: ------------------------------------------------------------------------------------
36118: -- 4219869 Business Flow
36119: -- Populated credit and debit amounts -- Need to generate this within IF
36117: ------------------------------------------------------------------------------------
36118: -- 4219869 Business Flow
36119: -- Populated credit and debit amounts -- Need to generate this within IF
36120: ------------------------------------------------------------------------------------
36121: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36122:
36123: ----------------------------------------------------------------------------------
36124: -- 4219869 Business Flow
36125: -- Update journal entry status -- Need to generate this within IF
36149: -- To allow MPA report to determine if it should generate report process
36150: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36151: ------------------------------------------------------------------------------------------
36152:
36153: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36154: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36155: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36156: -- call ADRs
36157: -- Bug 4922099
36150: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36151: ------------------------------------------------------------------------------------------
36152:
36153: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36154: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36155: -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36156: -- call ADRs
36157: -- Bug 4922099
36158: --
36174: , x_value_type_code => l_adr_value_type_code
36175: , p_side => 'NA'
36176: );
36177:
36178: xla_ae_lines_pkg.set_ccid(
36179: p_code_combination_id => l_ccid
36180: , p_value_type_code => l_adr_value_type_code
36181: , p_transaction_coa_id => l_adr_transaction_coa_id
36182: , p_accounting_coa_id => l_adr_accounting_coa_id
36209: );
36210:
36211: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36212:
36213: xla_ae_lines_pkg.set_segment(
36214: p_to_segment_code => 'GL_ACCOUNT'
36215: , p_segment_value => l_segment
36216: , p_from_segment_code => l_adr_value_segment_code
36217: , p_from_combination_id => l_adr_value_combination_id
36240:
36241: --
36242: -- Update the line information that should be overwritten
36243: --
36244: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36245: p_header_num => 1);
36246: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36247:
36248: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36242: -- Update the line information that should be overwritten
36243: --
36244: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36245: p_header_num => 1);
36246: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36247:
36248: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36249:
36250: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36244: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36245: p_header_num => 1);
36246: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36247:
36248: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36249:
36250: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36251: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36252: END IF;
36247:
36248: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36249:
36250: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36251: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36252: END IF;
36253:
36254: --
36255: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36254: --
36255: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36256: --
36257: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36258: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36259: ELSE
36260: ---------------------------------------------------------------------------------------------------
36261: -- 4262811a Switch Sign
36262: ---------------------------------------------------------------------------------------------------
36259: ELSE
36260: ---------------------------------------------------------------------------------------------------
36261: -- 4262811a Switch Sign
36262: ---------------------------------------------------------------------------------------------------
36263: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36264: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36260: ---------------------------------------------------------------------------------------------------
36261: -- 4262811a Switch Sign
36262: ---------------------------------------------------------------------------------------------------
36263: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36264: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36261: -- 4262811a Switch Sign
36262: ---------------------------------------------------------------------------------------------------
36263: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36264: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36269: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36262: ---------------------------------------------------------------------------------------------------
36263: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36264: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36269: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36270: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36263: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36264: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36269: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36270: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36271:
36265: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36269: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36270: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36271:
36272: END IF;
36273:
36266: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36267: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36268: -- 5132302
36269: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36270: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36271:
36272: END IF;
36273:
36274: -- 4955764
36271:
36272: END IF;
36273:
36274: -- 4955764
36275: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36276: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36277:
36278:
36279: XLA_AE_LINES_PKG.ValidateCurrentLine;
36275: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36276: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36277:
36278:
36279: XLA_AE_LINES_PKG.ValidateCurrentLine;
36280: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36281:
36282: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36283: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36276: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36277:
36278:
36279: XLA_AE_LINES_PKG.ValidateCurrentLine;
36280: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36281:
36282: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36283: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36284: ,p_balance_type_code => l_balance_type_code);
36953: l_first_event_id NUMBER;
36954: l_last_event_id NUMBER;
36955:
36956: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
36957: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36958: --
36959: --
36960: l_result BOOLEAN := TRUE;
36961: l_rows NUMBER := 1000;
37370: EXIT WHEN l_array_entity_id.COUNT = 0;
37371:
37372: -- initialize arrays
37373: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
37374: XLA_AE_LINES_PKG.g_rec_lines := NULL;
37375:
37376: --
37377: -- Bug 4458708
37378: --
37375:
37376: --
37377: -- Bug 4458708
37378: --
37379: XLA_AE_LINES_PKG.g_LineNumber := 0;
37380:
37381:
37382: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
37383: g_last_hdr_idx := l_array_event_id.LAST;
37533: --
37534: -- following sets the accounting attributes needed to reverse
37535: -- accounting for a distributeion
37536: --
37537: xla_ae_lines_pkg.SetTrxReversalAttrs
37538: (p_event_id => l_event_id
37539: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
37540: ,p_trx_reversal_source => l_trx_reversal_source);
37541:
37565: --
37566: -- insert dummy rows into lines gt table that were created due to
37567: -- transaction reversals
37568: --
37569: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
37570: l_result := XLA_AE_LINES_PKG.InsertLines;
37571: END IF;
37572:
37573: --
37566: -- insert dummy rows into lines gt table that were created due to
37567: -- transaction reversals
37568: --
37569: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
37570: l_result := XLA_AE_LINES_PKG.InsertLines;
37571: END IF;
37572:
37573: --
37574: -- reset the temp_line_num for each set of events fetched from header
37574: -- reset the temp_line_num for each set of events fetched from header
37575: -- cursor rather than doing it for each new event in line cursor
37576: -- Bug 3939231
37577: --
37578: xla_ae_lines_pkg.g_temp_line_num := 0;
37579:
37580:
37581:
37582: --
37679: END IF;
37680: --
37681: EXIT WHEN l_array_entity_id.count = 0;
37682:
37683: XLA_AE_LINES_PKG.g_rec_lines := null;
37684:
37685: --
37686: -- Bug 4458708
37687: --
37684:
37685: --
37686: -- Bug 4458708
37687: --
37688: XLA_AE_LINES_PKG.g_LineNumber := 0;
37689: --
37690: --
37691:
37692: FOR Idx IN 1..l_array_event_id.count LOOP
37756:
37757:
37758:
37759: --
37760: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
37761:
37762: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
37763:
37764: IF l_continue_with_lines THEN
37832: l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
37833: l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_52(Idx);
37834:
37835:
37836: xla_ae_lines_pkg.SetAcctReversalAttrs
37837: (p_event_id => l_event_id
37838: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
37839: ,p_calculate_acctd_flag => l_calculate_acctd_flag
37840: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
38531:
38532: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
38533: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
38534: AND (l_actual_flag = 'A')) THEN
38535: XLA_AE_LINES_PKG.CreateGainOrLossLines(
38536: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
38537: ,p_application_id => p_application_id
38538: ,p_amb_context_code => 'DEFAULT'
38539: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
38564: END IF;
38565: END IF;
38566:
38567: END LOOP;
38568: l_result := XLA_AE_LINES_PKG.InsertLines ;
38569: end loop;
38570: close line_cur;
38571:
38572:
39298: l_first_event_id NUMBER;
39299: l_last_event_id NUMBER;
39300:
39301: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
39302: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39303: --
39304: --
39305: l_result BOOLEAN := TRUE;
39306: l_rows NUMBER := 1000;
39715: EXIT WHEN l_array_entity_id.COUNT = 0;
39716:
39717: -- initialize arrays
39718: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
39719: XLA_AE_LINES_PKG.g_rec_lines := NULL;
39720:
39721: --
39722: -- Bug 4458708
39723: --
39720:
39721: --
39722: -- Bug 4458708
39723: --
39724: XLA_AE_LINES_PKG.g_LineNumber := 0;
39725:
39726:
39727: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
39728: g_last_hdr_idx := l_array_event_id.LAST;
39878: --
39879: -- following sets the accounting attributes needed to reverse
39880: -- accounting for a distributeion
39881: --
39882: xla_ae_lines_pkg.SetTrxReversalAttrs
39883: (p_event_id => l_event_id
39884: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
39885: ,p_trx_reversal_source => l_trx_reversal_source);
39886:
39910: --
39911: -- insert dummy rows into lines gt table that were created due to
39912: -- transaction reversals
39913: --
39914: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
39915: l_result := XLA_AE_LINES_PKG.InsertLines;
39916: END IF;
39917:
39918: --
39911: -- insert dummy rows into lines gt table that were created due to
39912: -- transaction reversals
39913: --
39914: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
39915: l_result := XLA_AE_LINES_PKG.InsertLines;
39916: END IF;
39917:
39918: --
39919: -- reset the temp_line_num for each set of events fetched from header
39919: -- reset the temp_line_num for each set of events fetched from header
39920: -- cursor rather than doing it for each new event in line cursor
39921: -- Bug 3939231
39922: --
39923: xla_ae_lines_pkg.g_temp_line_num := 0;
39924:
39925:
39926:
39927: --
40024: END IF;
40025: --
40026: EXIT WHEN l_array_entity_id.count = 0;
40027:
40028: XLA_AE_LINES_PKG.g_rec_lines := null;
40029:
40030: --
40031: -- Bug 4458708
40032: --
40029:
40030: --
40031: -- Bug 4458708
40032: --
40033: XLA_AE_LINES_PKG.g_LineNumber := 0;
40034: --
40035: --
40036:
40037: FOR Idx IN 1..l_array_event_id.count LOOP
40101:
40102:
40103:
40104: --
40105: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
40106:
40107: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
40108:
40109: IF l_continue_with_lines THEN
40177: l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
40178: l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_52(Idx);
40179:
40180:
40181: xla_ae_lines_pkg.SetAcctReversalAttrs
40182: (p_event_id => l_event_id
40183: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
40184: ,p_calculate_acctd_flag => l_calculate_acctd_flag
40185: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
40864:
40865: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
40866: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
40867: AND (l_actual_flag = 'A')) THEN
40868: XLA_AE_LINES_PKG.CreateGainOrLossLines(
40869: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
40870: ,p_application_id => p_application_id
40871: ,p_amb_context_code => 'DEFAULT'
40872: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
40897: END IF;
40898: END IF;
40899:
40900: END LOOP;
40901: l_result := XLA_AE_LINES_PKG.InsertLines ;
40902: end loop;
40903: close line_cur;
40904:
40905:
41698: l_first_event_id NUMBER;
41699: l_last_event_id NUMBER;
41700:
41701: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
41702: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41703: --
41704: --
41705: l_result BOOLEAN := TRUE;
41706: l_rows NUMBER := 1000;
42161: EXIT WHEN l_array_entity_id.COUNT = 0;
42162:
42163: -- initialize arrays
42164: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
42165: XLA_AE_LINES_PKG.g_rec_lines := NULL;
42166:
42167: --
42168: -- Bug 4458708
42169: --
42166:
42167: --
42168: -- Bug 4458708
42169: --
42170: XLA_AE_LINES_PKG.g_LineNumber := 0;
42171:
42172:
42173: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
42174: g_last_hdr_idx := l_array_event_id.LAST;
42326: --
42327: -- following sets the accounting attributes needed to reverse
42328: -- accounting for a distributeion
42329: --
42330: xla_ae_lines_pkg.SetTrxReversalAttrs
42331: (p_event_id => l_event_id
42332: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
42333: ,p_trx_reversal_source => l_trx_reversal_source);
42334:
42358: --
42359: -- insert dummy rows into lines gt table that were created due to
42360: -- transaction reversals
42361: --
42362: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
42363: l_result := XLA_AE_LINES_PKG.InsertLines;
42364: END IF;
42365:
42366: --
42359: -- insert dummy rows into lines gt table that were created due to
42360: -- transaction reversals
42361: --
42362: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
42363: l_result := XLA_AE_LINES_PKG.InsertLines;
42364: END IF;
42365:
42366: --
42367: -- reset the temp_line_num for each set of events fetched from header
42367: -- reset the temp_line_num for each set of events fetched from header
42368: -- cursor rather than doing it for each new event in line cursor
42369: -- Bug 3939231
42370: --
42371: xla_ae_lines_pkg.g_temp_line_num := 0;
42372:
42373:
42374:
42375: --
42483: END IF;
42484: --
42485: EXIT WHEN l_array_entity_id.count = 0;
42486:
42487: XLA_AE_LINES_PKG.g_rec_lines := null;
42488:
42489: --
42490: -- Bug 4458708
42491: --
42488:
42489: --
42490: -- Bug 4458708
42491: --
42492: XLA_AE_LINES_PKG.g_LineNumber := 0;
42493: --
42494: --
42495:
42496: FOR Idx IN 1..l_array_event_id.count LOOP
42560:
42561:
42562:
42563: --
42564: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
42565:
42566: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
42567:
42568: IF l_continue_with_lines THEN
42636: l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
42637: l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_52(Idx);
42638:
42639:
42640: xla_ae_lines_pkg.SetAcctReversalAttrs
42641: (p_event_id => l_event_id
42642: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
42643: ,p_calculate_acctd_flag => l_calculate_acctd_flag
42644: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
43899:
43900: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
43901: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
43902: AND (l_actual_flag = 'A')) THEN
43903: XLA_AE_LINES_PKG.CreateGainOrLossLines(
43904: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
43905: ,p_application_id => p_application_id
43906: ,p_amb_context_code => 'DEFAULT'
43907: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
43932: END IF;
43933: END IF;
43934:
43935: END LOOP;
43936: l_result := XLA_AE_LINES_PKG.InsertLines ;
43937: end loop;
43938: close line_cur;
43939:
43940:
44603: l_first_event_id NUMBER;
44604: l_last_event_id NUMBER;
44605:
44606: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
44607: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44608: --
44609: --
44610: l_result BOOLEAN := TRUE;
44611: l_rows NUMBER := 1000;
44974: EXIT WHEN l_array_entity_id.COUNT = 0;
44975:
44976: -- initialize arrays
44977: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
44978: XLA_AE_LINES_PKG.g_rec_lines := NULL;
44979:
44980: --
44981: -- Bug 4458708
44982: --
44979:
44980: --
44981: -- Bug 4458708
44982: --
44983: XLA_AE_LINES_PKG.g_LineNumber := 0;
44984:
44985:
44986: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
44987: g_last_hdr_idx := l_array_event_id.LAST;
45128: --
45129: -- following sets the accounting attributes needed to reverse
45130: -- accounting for a distributeion
45131: --
45132: xla_ae_lines_pkg.SetTrxReversalAttrs
45133: (p_event_id => l_event_id
45134: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
45135: ,p_trx_reversal_source => l_trx_reversal_source);
45136:
45160: --
45161: -- insert dummy rows into lines gt table that were created due to
45162: -- transaction reversals
45163: --
45164: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
45165: l_result := XLA_AE_LINES_PKG.InsertLines;
45166: END IF;
45167:
45168: --
45161: -- insert dummy rows into lines gt table that were created due to
45162: -- transaction reversals
45163: --
45164: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
45165: l_result := XLA_AE_LINES_PKG.InsertLines;
45166: END IF;
45167:
45168: --
45169: -- reset the temp_line_num for each set of events fetched from header
45169: -- reset the temp_line_num for each set of events fetched from header
45170: -- cursor rather than doing it for each new event in line cursor
45171: -- Bug 3939231
45172: --
45173: xla_ae_lines_pkg.g_temp_line_num := 0;
45174:
45175:
45176:
45177: --
45263: END IF;
45264: --
45265: EXIT WHEN l_array_entity_id.count = 0;
45266:
45267: XLA_AE_LINES_PKG.g_rec_lines := null;
45268:
45269: --
45270: -- Bug 4458708
45271: --
45268:
45269: --
45270: -- Bug 4458708
45271: --
45272: XLA_AE_LINES_PKG.g_LineNumber := 0;
45273: --
45274: --
45275:
45276: FOR Idx IN 1..l_array_event_id.count LOOP
45340:
45341:
45342:
45343: --
45344: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
45345:
45346: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
45347:
45348: IF l_continue_with_lines THEN
45416: l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
45417: l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_52(Idx);
45418:
45419:
45420: xla_ae_lines_pkg.SetAcctReversalAttrs
45421: (p_event_id => l_event_id
45422: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
45423: ,p_calculate_acctd_flag => l_calculate_acctd_flag
45424: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
45559:
45560: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
45561: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
45562: AND (l_actual_flag = 'A')) THEN
45563: XLA_AE_LINES_PKG.CreateGainOrLossLines(
45564: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
45565: ,p_application_id => p_application_id
45566: ,p_amb_context_code => 'DEFAULT'
45567: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
45592: END IF;
45593: END IF;
45594:
45595: END LOOP;
45596: l_result := XLA_AE_LINES_PKG.InsertLines ;
45597: end loop;
45598: close line_cur;
45599:
45600:
45727:
45728: --
45729: -- initialize array of lines with NULL
45730: --
45731: xla_ae_lines_pkg.SetNullLine;
45732:
45733: --
45734: -- initialize header extract count -- Bug 4865292
45735: --