2038: --
2039: -- bulk performance
2040: --
2041: l_balance_type_code VARCHAR2(1);
2042: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2043: l_log_module VARCHAR2(240);
2044:
2045: --
2046: -- Upgrade strategy
2124: ') = 'N'
2125: THEN
2126:
2127: --
2128: XLA_AE_LINES_PKG.SetNewLine;
2129:
2130: p_balance_type_code := l_balance_type_code;
2131: -- set the flag so later we will know whether the gain loss line needs to be created
2132:
2136:
2137: --
2138: -- bulk performance
2139: --
2140: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2141: p_header_num => 0); -- 4262811
2142: --
2143: -- set accounting line options
2144: --
2141: p_header_num => 0); -- 4262811
2142: --
2143: -- set accounting line options
2144: --
2145: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2146: p_natural_side_code => 'C'
2147: , p_gain_or_loss_flag => 'N'
2148: , p_gl_transfer_mode_code => 'S'
2149: , p_acct_entry_type_code => 'A'
2155: --
2156: --
2157: -- set accounting line type info
2158: --
2159: xla_ae_lines_pkg.SetAcctLineType
2160: (p_component_type => l_component_type
2161: ,p_event_type_code => l_event_type_code
2162: ,p_line_definition_owner_code => l_line_definition_owner_code
2163: ,p_line_definition_code => l_line_definition_code
2169: ,p_event_class_code => l_event_class_code);
2170: --
2171: -- set accounting class
2172: --
2173: xla_ae_lines_pkg.SetAcctClass(
2174: p_accounting_class_code => 'PURCHASE_ORDER'
2175: , p_ae_header_id => l_ae_header_id
2176: );
2177:
2177:
2178: --
2179: -- set rounding class
2180: --
2181: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2182: 'PURCHASE_ORDER';
2183:
2184: --
2185: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2181: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2182: 'PURCHASE_ORDER';
2183:
2184: --
2185: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2186: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2187: --
2188: -- bulk performance
2189: --
2182: 'PURCHASE_ORDER';
2183:
2184: --
2185: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2186: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2187: --
2188: -- bulk performance
2189: --
2190: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2186: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2187: --
2188: -- bulk performance
2189: --
2190: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2191:
2192: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2193: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2194:
2188: -- bulk performance
2189: --
2190: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2191:
2192: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2193: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2194:
2195: -- 4955764
2196: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2192: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2193: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2194:
2195: -- 4955764
2196: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2197: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2198:
2199: -- 4458381 Public Sector Enh
2200:
2276: l_rec_acct_attrs.array_num_value(30) := p_source_32;
2277: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
2278: l_rec_acct_attrs.array_num_value(31) := p_source_32;
2279:
2280: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2281: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2282:
2283: ---------------------------------------------------------------------------------------------------------------
2284: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2277: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
2278: l_rec_acct_attrs.array_num_value(31) := p_source_32;
2279:
2280: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2281: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2282:
2283: ---------------------------------------------------------------------------------------------------------------
2284: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2285: ---------------------------------------------------------------------------------------------------------------
2280: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2281: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2282:
2283: ---------------------------------------------------------------------------------------------------------------
2284: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2285: ---------------------------------------------------------------------------------------------------------------
2286: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2287:
2288: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2282:
2283: ---------------------------------------------------------------------------------------------------------------
2284: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2285: ---------------------------------------------------------------------------------------------------------------
2286: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2287:
2288: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2289: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2290:
2284: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2285: ---------------------------------------------------------------------------------------------------------------
2286: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2287:
2288: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2289: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2290:
2291: IF xla_accounting_cache_pkg.GetValueChar
2292: (p_source_code => 'LEDGER_CATEGORY_CODE'
2285: ---------------------------------------------------------------------------------------------------------------
2286: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2287:
2288: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2289: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2290:
2291: IF xla_accounting_cache_pkg.GetValueChar
2292: (p_source_code => 'LEDGER_CATEGORY_CODE'
2293: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2296: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2297: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2298: )
2299: THEN
2300: xla_ae_lines_pkg.BflowUpgEntry
2301: (p_business_method_code => l_bflow_method_code
2302: ,p_business_class_code => l_bflow_class_code
2303: ,p_balance_type => l_balance_type_code);
2304: ELSE
2302: ,p_business_class_code => l_bflow_class_code
2303: ,p_balance_type => l_balance_type_code);
2304: ELSE
2305: NULL;
2306: XLA_AE_LINES_PKG.business_flow_validation(
2307: p_business_method_code => l_bflow_method_code
2308: ,p_business_class_code => l_bflow_class_code
2309: ,p_inherit_description_flag => l_inherit_desc_flag);
2310: END IF;
2349: xla_accounting_err_pkg.build_message
2350: (p_appli_s_name => 'XLA'
2351: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2352: ,p_token_1 => 'LINE_NUMBER'
2353: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2354: ,p_token_2 => 'LINE_TYPE_NAME'
2355: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2356: l_component_type
2357: ,l_component_code
2385: --
2386: --
2387: ------------------------------------------------------------------------------------------------
2388: -- 4219869 Business Flow
2389: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2390: -- Prior Entry. Currently, the following code is always generated.
2391: ------------------------------------------------------------------------------------------------
2392: -- No ValidateCurrentLine for business flow method of Prior Entry
2393:
2394: ------------------------------------------------------------------------------------
2395: -- 4219869 Business Flow
2396: -- Populated credit and debit amounts -- Need to generate this within IF
2397: ------------------------------------------------------------------------------------
2398: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2399:
2400: ----------------------------------------------------------------------------------
2401: -- 4219869 Business Flow
2402: -- Update journal entry status -- Need to generate this within IF
2426: -- To allow MPA report to determine if it should generate report process
2427: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2428: ------------------------------------------------------------------------------------------
2429:
2430: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2431: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2432:
2433: --
2434: -- Update the line information that should be overwritten
2427: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2428: ------------------------------------------------------------------------------------------
2429:
2430: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2431: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2432:
2433: --
2434: -- Update the line information that should be overwritten
2435: --
2432:
2433: --
2434: -- Update the line information that should be overwritten
2435: --
2436: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2437: p_header_num => 1);
2438: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2439:
2440: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2434: -- Update the line information that should be overwritten
2435: --
2436: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2437: p_header_num => 1);
2438: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2439:
2440: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2441:
2442: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2436: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2437: p_header_num => 1);
2438: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2439:
2440: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2441:
2442: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2443: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2444: END IF;
2439:
2440: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2441:
2442: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2443: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2444: END IF;
2445:
2446: --
2447: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2446: --
2447: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2448: --
2449: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2450: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2451: ELSE
2452: ---------------------------------------------------------------------------------------------------
2453: -- 4262811a Switch Sign
2454: ---------------------------------------------------------------------------------------------------
2451: ELSE
2452: ---------------------------------------------------------------------------------------------------
2453: -- 4262811a Switch Sign
2454: ---------------------------------------------------------------------------------------------------
2455: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2456: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2452: ---------------------------------------------------------------------------------------------------
2453: -- 4262811a Switch Sign
2454: ---------------------------------------------------------------------------------------------------
2455: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2456: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2453: -- 4262811a Switch Sign
2454: ---------------------------------------------------------------------------------------------------
2455: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2456: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2461: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2454: ---------------------------------------------------------------------------------------------------
2455: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2456: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2461: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2462: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2455: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2456: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2461: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2462: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2463:
2457: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2461: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2462: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2463:
2464: END IF;
2465:
2458: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2459: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2460: -- 5132302
2461: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2462: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2463:
2464: END IF;
2465:
2466: -- 4955764
2463:
2464: END IF;
2465:
2466: -- 4955764
2467: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2468: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2469:
2470:
2471: XLA_AE_LINES_PKG.ValidateCurrentLine;
2467: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2468: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2469:
2470:
2471: XLA_AE_LINES_PKG.ValidateCurrentLine;
2472: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2473:
2474: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2475: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2468: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2469:
2470:
2471: XLA_AE_LINES_PKG.ValidateCurrentLine;
2472: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2473:
2474: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2475: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2476: ,p_balance_type_code => l_balance_type_code);
2619: --
2620: -- bulk performance
2621: --
2622: l_balance_type_code VARCHAR2(1);
2623: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2624: l_log_module VARCHAR2(240);
2625:
2626: --
2627: -- Upgrade strategy
2705: ') = 'N'
2706: THEN
2707:
2708: --
2709: XLA_AE_LINES_PKG.SetNewLine;
2710:
2711: p_balance_type_code := l_balance_type_code;
2712: -- set the flag so later we will know whether the gain loss line needs to be created
2713:
2717:
2718: --
2719: -- bulk performance
2720: --
2721: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2722: p_header_num => 0); -- 4262811
2723: --
2724: -- set accounting line options
2725: --
2722: p_header_num => 0); -- 4262811
2723: --
2724: -- set accounting line options
2725: --
2726: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2727: p_natural_side_code => 'D'
2728: , p_gain_or_loss_flag => 'N'
2729: , p_gl_transfer_mode_code => 'S'
2730: , p_acct_entry_type_code => 'A'
2736: --
2737: --
2738: -- set accounting line type info
2739: --
2740: xla_ae_lines_pkg.SetAcctLineType
2741: (p_component_type => l_component_type
2742: ,p_event_type_code => l_event_type_code
2743: ,p_line_definition_owner_code => l_line_definition_owner_code
2744: ,p_line_definition_code => l_line_definition_code
2750: ,p_event_class_code => l_event_class_code);
2751: --
2752: -- set accounting class
2753: --
2754: xla_ae_lines_pkg.SetAcctClass(
2755: p_accounting_class_code => 'PURCHASE_ORDER'
2756: , p_ae_header_id => l_ae_header_id
2757: );
2758:
2758:
2759: --
2760: -- set rounding class
2761: --
2762: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2763: 'PURCHASE_ORDER';
2764:
2765: --
2766: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2762: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2763: 'PURCHASE_ORDER';
2764:
2765: --
2766: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2767: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2768: --
2769: -- bulk performance
2770: --
2763: 'PURCHASE_ORDER';
2764:
2765: --
2766: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2767: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2768: --
2769: -- bulk performance
2770: --
2771: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2767: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2768: --
2769: -- bulk performance
2770: --
2771: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2772:
2773: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2774: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2775:
2769: -- bulk performance
2770: --
2771: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2772:
2773: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2774: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2775:
2776: -- 4955764
2777: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2773: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2774: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2775:
2776: -- 4955764
2777: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2778: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2779:
2780: -- 4458381 Public Sector Enh
2781:
2857: l_rec_acct_attrs.array_num_value(30) := p_source_32;
2858: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
2859: l_rec_acct_attrs.array_num_value(31) := p_source_32;
2860:
2861: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2862: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2863:
2864: ---------------------------------------------------------------------------------------------------------------
2865: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2858: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
2859: l_rec_acct_attrs.array_num_value(31) := p_source_32;
2860:
2861: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2862: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2863:
2864: ---------------------------------------------------------------------------------------------------------------
2865: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2866: ---------------------------------------------------------------------------------------------------------------
2861: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2862: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2863:
2864: ---------------------------------------------------------------------------------------------------------------
2865: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2866: ---------------------------------------------------------------------------------------------------------------
2867: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2868:
2869: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2863:
2864: ---------------------------------------------------------------------------------------------------------------
2865: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2866: ---------------------------------------------------------------------------------------------------------------
2867: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2868:
2869: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2870: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871:
2865: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2866: ---------------------------------------------------------------------------------------------------------------
2867: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2868:
2869: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2870: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871:
2872: IF xla_accounting_cache_pkg.GetValueChar
2873: (p_source_code => 'LEDGER_CATEGORY_CODE'
2866: ---------------------------------------------------------------------------------------------------------------
2867: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2868:
2869: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2870: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2871:
2872: IF xla_accounting_cache_pkg.GetValueChar
2873: (p_source_code => 'LEDGER_CATEGORY_CODE'
2874: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2877: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2878: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2879: )
2880: THEN
2881: xla_ae_lines_pkg.BflowUpgEntry
2882: (p_business_method_code => l_bflow_method_code
2883: ,p_business_class_code => l_bflow_class_code
2884: ,p_balance_type => l_balance_type_code);
2885: ELSE
2883: ,p_business_class_code => l_bflow_class_code
2884: ,p_balance_type => l_balance_type_code);
2885: ELSE
2886: NULL;
2887: XLA_AE_LINES_PKG.business_flow_validation(
2888: p_business_method_code => l_bflow_method_code
2889: ,p_business_class_code => l_bflow_class_code
2890: ,p_inherit_description_flag => l_inherit_desc_flag);
2891: END IF;
2930: xla_accounting_err_pkg.build_message
2931: (p_appli_s_name => 'XLA'
2932: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2933: ,p_token_1 => 'LINE_NUMBER'
2934: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2935: ,p_token_2 => 'LINE_TYPE_NAME'
2936: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2937: l_component_type
2938: ,l_component_code
2966: --
2967: --
2968: ------------------------------------------------------------------------------------------------
2969: -- 4219869 Business Flow
2970: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2971: -- Prior Entry. Currently, the following code is always generated.
2972: ------------------------------------------------------------------------------------------------
2973: -- No ValidateCurrentLine for business flow method of Prior Entry
2974:
2975: ------------------------------------------------------------------------------------
2976: -- 4219869 Business Flow
2977: -- Populated credit and debit amounts -- Need to generate this within IF
2978: ------------------------------------------------------------------------------------
2979: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2980:
2981: ----------------------------------------------------------------------------------
2982: -- 4219869 Business Flow
2983: -- Update journal entry status -- Need to generate this within IF
3007: -- To allow MPA report to determine if it should generate report process
3008: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3009: ------------------------------------------------------------------------------------------
3010:
3011: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3012: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3013:
3014: --
3015: -- Update the line information that should be overwritten
3008: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3009: ------------------------------------------------------------------------------------------
3010:
3011: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3012: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3013:
3014: --
3015: -- Update the line information that should be overwritten
3016: --
3013:
3014: --
3015: -- Update the line information that should be overwritten
3016: --
3017: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3018: p_header_num => 1);
3019: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3020:
3021: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3015: -- Update the line information that should be overwritten
3016: --
3017: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3018: p_header_num => 1);
3019: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3020:
3021: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3022:
3023: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3017: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3018: p_header_num => 1);
3019: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3020:
3021: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3022:
3023: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3024: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3025: END IF;
3020:
3021: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3022:
3023: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3024: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3025: END IF;
3026:
3027: --
3028: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3027: --
3028: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3029: --
3030: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3031: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3032: ELSE
3033: ---------------------------------------------------------------------------------------------------
3034: -- 4262811a Switch Sign
3035: ---------------------------------------------------------------------------------------------------
3032: ELSE
3033: ---------------------------------------------------------------------------------------------------
3034: -- 4262811a Switch Sign
3035: ---------------------------------------------------------------------------------------------------
3036: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3037: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3033: ---------------------------------------------------------------------------------------------------
3034: -- 4262811a Switch Sign
3035: ---------------------------------------------------------------------------------------------------
3036: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3037: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3034: -- 4262811a Switch Sign
3035: ---------------------------------------------------------------------------------------------------
3036: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3037: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3042: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3035: ---------------------------------------------------------------------------------------------------
3036: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3037: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3042: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3043: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3036: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3037: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3042: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3043: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3044:
3038: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3042: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3043: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3044:
3045: END IF;
3046:
3039: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3040: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3041: -- 5132302
3042: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3043: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3044:
3045: END IF;
3046:
3047: -- 4955764
3044:
3045: END IF;
3046:
3047: -- 4955764
3048: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3049: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3050:
3051:
3052: XLA_AE_LINES_PKG.ValidateCurrentLine;
3048: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3049: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3050:
3051:
3052: XLA_AE_LINES_PKG.ValidateCurrentLine;
3053: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3054:
3055: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3056: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3049: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3050:
3051:
3052: XLA_AE_LINES_PKG.ValidateCurrentLine;
3053: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3054:
3055: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3056: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3057: ,p_balance_type_code => l_balance_type_code);
3200: --
3201: -- bulk performance
3202: --
3203: l_balance_type_code VARCHAR2(1);
3204: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3205: l_log_module VARCHAR2(240);
3206:
3207: --
3208: -- Upgrade strategy
3275: ') = 'B_PA'
3276: THEN
3277:
3278: --
3279: XLA_AE_LINES_PKG.SetNewLine;
3280:
3281: p_balance_type_code := l_balance_type_code;
3282: -- set the flag so later we will know whether the gain loss line needs to be created
3283:
3287:
3288: --
3289: -- bulk performance
3290: --
3291: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3292: p_header_num => 0); -- 4262811
3293: --
3294: -- set accounting line options
3295: --
3292: p_header_num => 0); -- 4262811
3293: --
3294: -- set accounting line options
3295: --
3296: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3297: p_natural_side_code => 'C'
3298: , p_gain_or_loss_flag => 'N'
3299: , p_gl_transfer_mode_code => 'S'
3300: , p_acct_entry_type_code => 'A'
3306: --
3307: --
3308: -- set accounting line type info
3309: --
3310: xla_ae_lines_pkg.SetAcctLineType
3311: (p_component_type => l_component_type
3312: ,p_event_type_code => l_event_type_code
3313: ,p_line_definition_owner_code => l_line_definition_owner_code
3314: ,p_line_definition_code => l_line_definition_code
3320: ,p_event_class_code => l_event_class_code);
3321: --
3322: -- set accounting class
3323: --
3324: xla_ae_lines_pkg.SetAcctClass(
3325: p_accounting_class_code => 'PURCHASE_ORDER'
3326: , p_ae_header_id => l_ae_header_id
3327: );
3328:
3328:
3329: --
3330: -- set rounding class
3331: --
3332: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3333: 'PURCHASE_ORDER';
3334:
3335: --
3336: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3332: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3333: 'PURCHASE_ORDER';
3334:
3335: --
3336: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3337: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3338: --
3339: -- bulk performance
3340: --
3333: 'PURCHASE_ORDER';
3334:
3335: --
3336: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3337: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3338: --
3339: -- bulk performance
3340: --
3341: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3337: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3338: --
3339: -- bulk performance
3340: --
3341: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3342:
3343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3344: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3345:
3339: -- bulk performance
3340: --
3341: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3342:
3343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3344: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3345:
3346: -- 4955764
3347: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3344: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3345:
3346: -- 4955764
3347: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3348: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3349:
3350: -- 4458381 Public Sector Enh
3351:
3427: l_rec_acct_attrs.array_num_value(30) := p_source_32;
3428: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
3429: l_rec_acct_attrs.array_num_value(31) := p_source_32;
3430:
3431: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3432: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3433:
3434: ---------------------------------------------------------------------------------------------------------------
3435: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3428: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
3429: l_rec_acct_attrs.array_num_value(31) := p_source_32;
3430:
3431: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3432: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3433:
3434: ---------------------------------------------------------------------------------------------------------------
3435: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3436: ---------------------------------------------------------------------------------------------------------------
3431: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3432: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3433:
3434: ---------------------------------------------------------------------------------------------------------------
3435: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3436: ---------------------------------------------------------------------------------------------------------------
3437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3438:
3439: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3433:
3434: ---------------------------------------------------------------------------------------------------------------
3435: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3436: ---------------------------------------------------------------------------------------------------------------
3437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3438:
3439: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3440: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3441:
3435: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3436: ---------------------------------------------------------------------------------------------------------------
3437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3438:
3439: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3440: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3441:
3442: IF xla_accounting_cache_pkg.GetValueChar
3443: (p_source_code => 'LEDGER_CATEGORY_CODE'
3436: ---------------------------------------------------------------------------------------------------------------
3437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3438:
3439: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3440: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3441:
3442: IF xla_accounting_cache_pkg.GetValueChar
3443: (p_source_code => 'LEDGER_CATEGORY_CODE'
3444: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3447: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3448: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3449: )
3450: THEN
3451: xla_ae_lines_pkg.BflowUpgEntry
3452: (p_business_method_code => l_bflow_method_code
3453: ,p_business_class_code => l_bflow_class_code
3454: ,p_balance_type => l_balance_type_code);
3455: ELSE
3453: ,p_business_class_code => l_bflow_class_code
3454: ,p_balance_type => l_balance_type_code);
3455: ELSE
3456: NULL;
3457: XLA_AE_LINES_PKG.business_flow_validation(
3458: p_business_method_code => l_bflow_method_code
3459: ,p_business_class_code => l_bflow_class_code
3460: ,p_inherit_description_flag => l_inherit_desc_flag);
3461: END IF;
3500: xla_accounting_err_pkg.build_message
3501: (p_appli_s_name => 'XLA'
3502: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3503: ,p_token_1 => 'LINE_NUMBER'
3504: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3505: ,p_token_2 => 'LINE_TYPE_NAME'
3506: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3507: l_component_type
3508: ,l_component_code
3536: --
3537: --
3538: ------------------------------------------------------------------------------------------------
3539: -- 4219869 Business Flow
3540: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3541: -- Prior Entry. Currently, the following code is always generated.
3542: ------------------------------------------------------------------------------------------------
3543: -- No ValidateCurrentLine for business flow method of Prior Entry
3544:
3545: ------------------------------------------------------------------------------------
3546: -- 4219869 Business Flow
3547: -- Populated credit and debit amounts -- Need to generate this within IF
3548: ------------------------------------------------------------------------------------
3549: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3550:
3551: ----------------------------------------------------------------------------------
3552: -- 4219869 Business Flow
3553: -- Update journal entry status -- Need to generate this within IF
3577: -- To allow MPA report to determine if it should generate report process
3578: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3579: ------------------------------------------------------------------------------------------
3580:
3581: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3582: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3583:
3584: --
3585: -- Update the line information that should be overwritten
3578: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3579: ------------------------------------------------------------------------------------------
3580:
3581: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3582: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3583:
3584: --
3585: -- Update the line information that should be overwritten
3586: --
3583:
3584: --
3585: -- Update the line information that should be overwritten
3586: --
3587: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3588: p_header_num => 1);
3589: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3590:
3591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3585: -- Update the line information that should be overwritten
3586: --
3587: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3588: p_header_num => 1);
3589: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3590:
3591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3592:
3593: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3587: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3588: p_header_num => 1);
3589: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3590:
3591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3592:
3593: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3594: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3595: END IF;
3590:
3591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3592:
3593: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3594: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3595: END IF;
3596:
3597: --
3598: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3597: --
3598: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3599: --
3600: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3601: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3602: ELSE
3603: ---------------------------------------------------------------------------------------------------
3604: -- 4262811a Switch Sign
3605: ---------------------------------------------------------------------------------------------------
3602: ELSE
3603: ---------------------------------------------------------------------------------------------------
3604: -- 4262811a Switch Sign
3605: ---------------------------------------------------------------------------------------------------
3606: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3603: ---------------------------------------------------------------------------------------------------
3604: -- 4262811a Switch Sign
3605: ---------------------------------------------------------------------------------------------------
3606: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3604: -- 4262811a Switch Sign
3605: ---------------------------------------------------------------------------------------------------
3606: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3605: ---------------------------------------------------------------------------------------------------
3606: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3613: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3606: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3607: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3613: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3614:
3608: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3613: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3614:
3615: END IF;
3616:
3609: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3610: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3611: -- 5132302
3612: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3613: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3614:
3615: END IF;
3616:
3617: -- 4955764
3614:
3615: END IF;
3616:
3617: -- 4955764
3618: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3619: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3620:
3621:
3622: XLA_AE_LINES_PKG.ValidateCurrentLine;
3618: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3619: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3620:
3621:
3622: XLA_AE_LINES_PKG.ValidateCurrentLine;
3623: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3624:
3625: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3626: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3619: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3620:
3621:
3622: XLA_AE_LINES_PKG.ValidateCurrentLine;
3623: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3624:
3625: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3626: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3627: ,p_balance_type_code => l_balance_type_code);
3770: --
3771: -- bulk performance
3772: --
3773: l_balance_type_code VARCHAR2(1);
3774: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3775: l_log_module VARCHAR2(240);
3776:
3777: --
3778: -- Upgrade strategy
3845: ') = 'B_PA'
3846: THEN
3847:
3848: --
3849: XLA_AE_LINES_PKG.SetNewLine;
3850:
3851: p_balance_type_code := l_balance_type_code;
3852: -- set the flag so later we will know whether the gain loss line needs to be created
3853:
3857:
3858: --
3859: -- bulk performance
3860: --
3861: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3862: p_header_num => 0); -- 4262811
3863: --
3864: -- set accounting line options
3865: --
3862: p_header_num => 0); -- 4262811
3863: --
3864: -- set accounting line options
3865: --
3866: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3867: p_natural_side_code => 'D'
3868: , p_gain_or_loss_flag => 'N'
3869: , p_gl_transfer_mode_code => 'S'
3870: , p_acct_entry_type_code => 'A'
3876: --
3877: --
3878: -- set accounting line type info
3879: --
3880: xla_ae_lines_pkg.SetAcctLineType
3881: (p_component_type => l_component_type
3882: ,p_event_type_code => l_event_type_code
3883: ,p_line_definition_owner_code => l_line_definition_owner_code
3884: ,p_line_definition_code => l_line_definition_code
3890: ,p_event_class_code => l_event_class_code);
3891: --
3892: -- set accounting class
3893: --
3894: xla_ae_lines_pkg.SetAcctClass(
3895: p_accounting_class_code => 'PURCHASE_ORDER'
3896: , p_ae_header_id => l_ae_header_id
3897: );
3898:
3898:
3899: --
3900: -- set rounding class
3901: --
3902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3903: 'PURCHASE_ORDER';
3904:
3905: --
3906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3903: 'PURCHASE_ORDER';
3904:
3905: --
3906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3908: --
3909: -- bulk performance
3910: --
3903: 'PURCHASE_ORDER';
3904:
3905: --
3906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3908: --
3909: -- bulk performance
3910: --
3911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3908: --
3909: -- bulk performance
3910: --
3911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3912:
3913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3915:
3909: -- bulk performance
3910: --
3911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3912:
3913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3915:
3916: -- 4955764
3917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3915:
3916: -- 4955764
3917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3918: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3919:
3920: -- 4458381 Public Sector Enh
3921:
3997: l_rec_acct_attrs.array_num_value(30) := p_source_32;
3998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
3999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
4000:
4001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4003:
4004: ---------------------------------------------------------------------------------------------------------------
4005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
3999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
4000:
4001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4003:
4004: ---------------------------------------------------------------------------------------------------------------
4005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4006: ---------------------------------------------------------------------------------------------------------------
4001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4003:
4004: ---------------------------------------------------------------------------------------------------------------
4005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4006: ---------------------------------------------------------------------------------------------------------------
4007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4008:
4009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4003:
4004: ---------------------------------------------------------------------------------------------------------------
4005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4006: ---------------------------------------------------------------------------------------------------------------
4007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4008:
4009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4011:
4005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4006: ---------------------------------------------------------------------------------------------------------------
4007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4008:
4009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4011:
4012: IF xla_accounting_cache_pkg.GetValueChar
4013: (p_source_code => 'LEDGER_CATEGORY_CODE'
4006: ---------------------------------------------------------------------------------------------------------------
4007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4008:
4009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4011:
4012: IF xla_accounting_cache_pkg.GetValueChar
4013: (p_source_code => 'LEDGER_CATEGORY_CODE'
4014: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4017: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4018: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4019: )
4020: THEN
4021: xla_ae_lines_pkg.BflowUpgEntry
4022: (p_business_method_code => l_bflow_method_code
4023: ,p_business_class_code => l_bflow_class_code
4024: ,p_balance_type => l_balance_type_code);
4025: ELSE
4023: ,p_business_class_code => l_bflow_class_code
4024: ,p_balance_type => l_balance_type_code);
4025: ELSE
4026: NULL;
4027: XLA_AE_LINES_PKG.business_flow_validation(
4028: p_business_method_code => l_bflow_method_code
4029: ,p_business_class_code => l_bflow_class_code
4030: ,p_inherit_description_flag => l_inherit_desc_flag);
4031: END IF;
4070: xla_accounting_err_pkg.build_message
4071: (p_appli_s_name => 'XLA'
4072: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4073: ,p_token_1 => 'LINE_NUMBER'
4074: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4075: ,p_token_2 => 'LINE_TYPE_NAME'
4076: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4077: l_component_type
4078: ,l_component_code
4106: --
4107: --
4108: ------------------------------------------------------------------------------------------------
4109: -- 4219869 Business Flow
4110: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4111: -- Prior Entry. Currently, the following code is always generated.
4112: ------------------------------------------------------------------------------------------------
4113: -- No ValidateCurrentLine for business flow method of Prior Entry
4114:
4115: ------------------------------------------------------------------------------------
4116: -- 4219869 Business Flow
4117: -- Populated credit and debit amounts -- Need to generate this within IF
4118: ------------------------------------------------------------------------------------
4119: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4120:
4121: ----------------------------------------------------------------------------------
4122: -- 4219869 Business Flow
4123: -- Update journal entry status -- Need to generate this within IF
4147: -- To allow MPA report to determine if it should generate report process
4148: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4149: ------------------------------------------------------------------------------------------
4150:
4151: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4152: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4153:
4154: --
4155: -- Update the line information that should be overwritten
4148: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4149: ------------------------------------------------------------------------------------------
4150:
4151: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4152: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4153:
4154: --
4155: -- Update the line information that should be overwritten
4156: --
4153:
4154: --
4155: -- Update the line information that should be overwritten
4156: --
4157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4158: p_header_num => 1);
4159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4160:
4161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4155: -- Update the line information that should be overwritten
4156: --
4157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4158: p_header_num => 1);
4159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4160:
4161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4162:
4163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4158: p_header_num => 1);
4159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4160:
4161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4162:
4163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4165: END IF;
4160:
4161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4162:
4163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4165: END IF;
4166:
4167: --
4168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4167: --
4168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4169: --
4170: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4171: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4172: ELSE
4173: ---------------------------------------------------------------------------------------------------
4174: -- 4262811a Switch Sign
4175: ---------------------------------------------------------------------------------------------------
4172: ELSE
4173: ---------------------------------------------------------------------------------------------------
4174: -- 4262811a Switch Sign
4175: ---------------------------------------------------------------------------------------------------
4176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4173: ---------------------------------------------------------------------------------------------------
4174: -- 4262811a Switch Sign
4175: ---------------------------------------------------------------------------------------------------
4176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4174: -- 4262811a Switch Sign
4175: ---------------------------------------------------------------------------------------------------
4176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4175: ---------------------------------------------------------------------------------------------------
4176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4184:
4178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4184:
4185: END IF;
4186:
4179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4181: -- 5132302
4182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4184:
4185: END IF;
4186:
4187: -- 4955764
4184:
4185: END IF;
4186:
4187: -- 4955764
4188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4190:
4191:
4192: XLA_AE_LINES_PKG.ValidateCurrentLine;
4188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4190:
4191:
4192: XLA_AE_LINES_PKG.ValidateCurrentLine;
4193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4194:
4195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4190:
4191:
4192: XLA_AE_LINES_PKG.ValidateCurrentLine;
4193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4194:
4195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4197: ,p_balance_type_code => l_balance_type_code);
4350: --
4351: -- bulk performance
4352: --
4353: l_balance_type_code VARCHAR2(1);
4354: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4355: l_log_module VARCHAR2(240);
4356:
4357: --
4358: -- Upgrade strategy
4429: ') = 'N'
4430: THEN
4431:
4432: --
4433: XLA_AE_LINES_PKG.SetNewLine;
4434:
4435: p_balance_type_code := l_balance_type_code;
4436: -- set the flag so later we will know whether the gain loss line needs to be created
4437:
4441:
4442: --
4443: -- bulk performance
4444: --
4445: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4446: p_header_num => 0); -- 4262811
4447: --
4448: -- set accounting line options
4449: --
4446: p_header_num => 0); -- 4262811
4447: --
4448: -- set accounting line options
4449: --
4450: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4451: p_natural_side_code => 'C'
4452: , p_gain_or_loss_flag => 'N'
4453: , p_gl_transfer_mode_code => 'S'
4454: , p_acct_entry_type_code => 'A'
4460: --
4461: --
4462: -- set accounting line type info
4463: --
4464: xla_ae_lines_pkg.SetAcctLineType
4465: (p_component_type => l_component_type
4466: ,p_event_type_code => l_event_type_code
4467: ,p_line_definition_owner_code => l_line_definition_owner_code
4468: ,p_line_definition_code => l_line_definition_code
4474: ,p_event_class_code => l_event_class_code);
4475: --
4476: -- set accounting class
4477: --
4478: xla_ae_lines_pkg.SetAcctClass(
4479: p_accounting_class_code => 'PURCHASE_ORDER'
4480: , p_ae_header_id => l_ae_header_id
4481: );
4482:
4482:
4483: --
4484: -- set rounding class
4485: --
4486: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4487: 'PURCHASE_ORDER';
4488:
4489: --
4490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4486: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4487: 'PURCHASE_ORDER';
4488:
4489: --
4490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4492: --
4493: -- bulk performance
4494: --
4487: 'PURCHASE_ORDER';
4488:
4489: --
4490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4492: --
4493: -- bulk performance
4494: --
4495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4492: --
4493: -- bulk performance
4494: --
4495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4496:
4497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4499:
4493: -- bulk performance
4494: --
4495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4496:
4497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4499:
4500: -- 4955764
4501: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4499:
4500: -- 4955764
4501: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4502: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4503:
4504: -- 4458381 Public Sector Enh
4505:
4587: l_rec_acct_attrs.array_num_value(33) := p_source_32;
4588: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
4589: l_rec_acct_attrs.array_num_value(34) := p_source_32;
4590:
4591: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4592: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4593:
4594: ---------------------------------------------------------------------------------------------------------------
4595: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4588: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
4589: l_rec_acct_attrs.array_num_value(34) := p_source_32;
4590:
4591: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4592: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4593:
4594: ---------------------------------------------------------------------------------------------------------------
4595: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4596: ---------------------------------------------------------------------------------------------------------------
4591: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4592: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4593:
4594: ---------------------------------------------------------------------------------------------------------------
4595: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4596: ---------------------------------------------------------------------------------------------------------------
4597: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4598:
4599: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4593:
4594: ---------------------------------------------------------------------------------------------------------------
4595: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4596: ---------------------------------------------------------------------------------------------------------------
4597: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4598:
4599: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4600: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4601:
4595: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4596: ---------------------------------------------------------------------------------------------------------------
4597: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4598:
4599: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4600: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4601:
4602: IF xla_accounting_cache_pkg.GetValueChar
4603: (p_source_code => 'LEDGER_CATEGORY_CODE'
4596: ---------------------------------------------------------------------------------------------------------------
4597: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4598:
4599: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4600: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4601:
4602: IF xla_accounting_cache_pkg.GetValueChar
4603: (p_source_code => 'LEDGER_CATEGORY_CODE'
4604: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4607: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4608: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4609: )
4610: THEN
4611: xla_ae_lines_pkg.BflowUpgEntry
4612: (p_business_method_code => l_bflow_method_code
4613: ,p_business_class_code => l_bflow_class_code
4614: ,p_balance_type => l_balance_type_code);
4615: ELSE
4624: --
4625: -- call description
4626: --
4627:
4628: xla_ae_lines_pkg.SetLineDescription(
4629: p_ae_header_id => l_ae_header_id
4630: ,p_description => Description_2 (
4631: p_application_id => p_application_id
4632: , p_ae_header_id => l_ae_header_id
4657: , x_value_type_code => l_adr_value_type_code
4658: , p_side => 'NA'
4659: );
4660:
4661: xla_ae_lines_pkg.set_ccid(
4662: p_code_combination_id => l_ccid
4663: , p_value_type_code => l_adr_value_type_code
4664: , p_transaction_coa_id => l_adr_transaction_coa_id
4665: , p_accounting_coa_id => l_adr_accounting_coa_id
4690: );
4691:
4692: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
4693:
4694: xla_ae_lines_pkg.set_segment(
4695: p_to_segment_code => 'GL_ACCOUNT'
4696: , p_segment_value => l_segment
4697: , p_from_segment_code => l_adr_value_segment_code
4698: , p_from_combination_id => l_adr_value_combination_id
4734: xla_accounting_err_pkg.build_message
4735: (p_appli_s_name => 'XLA'
4736: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4737: ,p_token_1 => 'LINE_NUMBER'
4738: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4739: ,p_token_2 => 'LINE_TYPE_NAME'
4740: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4741: l_component_type
4742: ,l_component_code
4770: --
4771: --
4772: ------------------------------------------------------------------------------------------------
4773: -- 4219869 Business Flow
4774: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4775: -- Prior Entry. Currently, the following code is always generated.
4776: ------------------------------------------------------------------------------------------------
4777: XLA_AE_LINES_PKG.ValidateCurrentLine;
4778:
4773: -- 4219869 Business Flow
4774: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4775: -- Prior Entry. Currently, the following code is always generated.
4776: ------------------------------------------------------------------------------------------------
4777: XLA_AE_LINES_PKG.ValidateCurrentLine;
4778:
4779: ------------------------------------------------------------------------------------
4780: -- 4219869 Business Flow
4781: -- Populated credit and debit amounts -- Need to generate this within IF
4779: ------------------------------------------------------------------------------------
4780: -- 4219869 Business Flow
4781: -- Populated credit and debit amounts -- Need to generate this within IF
4782: ------------------------------------------------------------------------------------
4783: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4784:
4785: ----------------------------------------------------------------------------------
4786: -- 4219869 Business Flow
4787: -- Update journal entry status -- Need to generate this within IF
4811: -- To allow MPA report to determine if it should generate report process
4812: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4813: ------------------------------------------------------------------------------------------
4814:
4815: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4816: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4817:
4818: --
4819: -- Update the line information that should be overwritten
4812: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4813: ------------------------------------------------------------------------------------------
4814:
4815: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4816: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4817:
4818: --
4819: -- Update the line information that should be overwritten
4820: --
4817:
4818: --
4819: -- Update the line information that should be overwritten
4820: --
4821: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4822: p_header_num => 1);
4823: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4824:
4825: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4819: -- Update the line information that should be overwritten
4820: --
4821: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4822: p_header_num => 1);
4823: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4824:
4825: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4826:
4827: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4821: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4822: p_header_num => 1);
4823: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4824:
4825: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4826:
4827: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4828: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4829: END IF;
4824:
4825: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4826:
4827: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4828: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4829: END IF;
4830:
4831: --
4832: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4831: --
4832: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4833: --
4834: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4835: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4836: ELSE
4837: ---------------------------------------------------------------------------------------------------
4838: -- 4262811a Switch Sign
4839: ---------------------------------------------------------------------------------------------------
4836: ELSE
4837: ---------------------------------------------------------------------------------------------------
4838: -- 4262811a Switch Sign
4839: ---------------------------------------------------------------------------------------------------
4840: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4837: ---------------------------------------------------------------------------------------------------
4838: -- 4262811a Switch Sign
4839: ---------------------------------------------------------------------------------------------------
4840: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4838: -- 4262811a Switch Sign
4839: ---------------------------------------------------------------------------------------------------
4840: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4846: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4839: ---------------------------------------------------------------------------------------------------
4840: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4846: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4840: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4846: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4848:
4842: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4846: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4848:
4849: END IF;
4850:
4843: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4844: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4845: -- 5132302
4846: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4847: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4848:
4849: END IF;
4850:
4851: -- 4955764
4848:
4849: END IF;
4850:
4851: -- 4955764
4852: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4853: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4854:
4855:
4856: XLA_AE_LINES_PKG.ValidateCurrentLine;
4852: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4853: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4854:
4855:
4856: XLA_AE_LINES_PKG.ValidateCurrentLine;
4857: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4858:
4859: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4860: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4853: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4854:
4855:
4856: XLA_AE_LINES_PKG.ValidateCurrentLine;
4857: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4858:
4859: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4860: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4861: ,p_balance_type_code => l_balance_type_code);
5016: --
5017: -- bulk performance
5018: --
5019: l_balance_type_code VARCHAR2(1);
5020: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5021: l_log_module VARCHAR2(240);
5022:
5023: --
5024: -- Upgrade strategy
5095: ') = 'N'
5096: THEN
5097:
5098: --
5099: XLA_AE_LINES_PKG.SetNewLine;
5100:
5101: p_balance_type_code := l_balance_type_code;
5102: -- set the flag so later we will know whether the gain loss line needs to be created
5103:
5107:
5108: --
5109: -- bulk performance
5110: --
5111: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5112: p_header_num => 0); -- 4262811
5113: --
5114: -- set accounting line options
5115: --
5112: p_header_num => 0); -- 4262811
5113: --
5114: -- set accounting line options
5115: --
5116: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5117: p_natural_side_code => 'D'
5118: , p_gain_or_loss_flag => 'N'
5119: , p_gl_transfer_mode_code => 'S'
5120: , p_acct_entry_type_code => 'A'
5126: --
5127: --
5128: -- set accounting line type info
5129: --
5130: xla_ae_lines_pkg.SetAcctLineType
5131: (p_component_type => l_component_type
5132: ,p_event_type_code => l_event_type_code
5133: ,p_line_definition_owner_code => l_line_definition_owner_code
5134: ,p_line_definition_code => l_line_definition_code
5140: ,p_event_class_code => l_event_class_code);
5141: --
5142: -- set accounting class
5143: --
5144: xla_ae_lines_pkg.SetAcctClass(
5145: p_accounting_class_code => 'PURCHASE_ORDER'
5146: , p_ae_header_id => l_ae_header_id
5147: );
5148:
5148:
5149: --
5150: -- set rounding class
5151: --
5152: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5153: 'PURCHASE_ORDER';
5154:
5155: --
5156: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5152: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5153: 'PURCHASE_ORDER';
5154:
5155: --
5156: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5157: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5158: --
5159: -- bulk performance
5160: --
5153: 'PURCHASE_ORDER';
5154:
5155: --
5156: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5157: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5158: --
5159: -- bulk performance
5160: --
5161: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5157: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5158: --
5159: -- bulk performance
5160: --
5161: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5162:
5163: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5164: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5165:
5159: -- bulk performance
5160: --
5161: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5162:
5163: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5164: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5165:
5166: -- 4955764
5167: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5163: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5164: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5165:
5166: -- 4955764
5167: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5168: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5169:
5170: -- 4458381 Public Sector Enh
5171:
5253: l_rec_acct_attrs.array_num_value(33) := p_source_32;
5254: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
5255: l_rec_acct_attrs.array_num_value(34) := p_source_32;
5256:
5257: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5258: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5259:
5260: ---------------------------------------------------------------------------------------------------------------
5261: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5254: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
5255: l_rec_acct_attrs.array_num_value(34) := p_source_32;
5256:
5257: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5258: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5259:
5260: ---------------------------------------------------------------------------------------------------------------
5261: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5262: ---------------------------------------------------------------------------------------------------------------
5257: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5258: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5259:
5260: ---------------------------------------------------------------------------------------------------------------
5261: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5262: ---------------------------------------------------------------------------------------------------------------
5263: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5264:
5265: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5259:
5260: ---------------------------------------------------------------------------------------------------------------
5261: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5262: ---------------------------------------------------------------------------------------------------------------
5263: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5264:
5265: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5266: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5267:
5261: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5262: ---------------------------------------------------------------------------------------------------------------
5263: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5264:
5265: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5266: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5267:
5268: IF xla_accounting_cache_pkg.GetValueChar
5269: (p_source_code => 'LEDGER_CATEGORY_CODE'
5262: ---------------------------------------------------------------------------------------------------------------
5263: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5264:
5265: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5266: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5267:
5268: IF xla_accounting_cache_pkg.GetValueChar
5269: (p_source_code => 'LEDGER_CATEGORY_CODE'
5270: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5273: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5274: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5275: )
5276: THEN
5277: xla_ae_lines_pkg.BflowUpgEntry
5278: (p_business_method_code => l_bflow_method_code
5279: ,p_business_class_code => l_bflow_class_code
5280: ,p_balance_type => l_balance_type_code);
5281: ELSE
5290: --
5291: -- call description
5292: --
5293:
5294: xla_ae_lines_pkg.SetLineDescription(
5295: p_ae_header_id => l_ae_header_id
5296: ,p_description => Description_2 (
5297: p_application_id => p_application_id
5298: , p_ae_header_id => l_ae_header_id
5323: , x_value_type_code => l_adr_value_type_code
5324: , p_side => 'NA'
5325: );
5326:
5327: xla_ae_lines_pkg.set_ccid(
5328: p_code_combination_id => l_ccid
5329: , p_value_type_code => l_adr_value_type_code
5330: , p_transaction_coa_id => l_adr_transaction_coa_id
5331: , p_accounting_coa_id => l_adr_accounting_coa_id
5357: );
5358:
5359: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
5360:
5361: xla_ae_lines_pkg.set_segment(
5362: p_to_segment_code => 'GL_ACCOUNT'
5363: , p_segment_value => l_segment
5364: , p_from_segment_code => l_adr_value_segment_code
5365: , p_from_combination_id => l_adr_value_combination_id
5401: xla_accounting_err_pkg.build_message
5402: (p_appli_s_name => 'XLA'
5403: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5404: ,p_token_1 => 'LINE_NUMBER'
5405: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5406: ,p_token_2 => 'LINE_TYPE_NAME'
5407: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5408: l_component_type
5409: ,l_component_code
5437: --
5438: --
5439: ------------------------------------------------------------------------------------------------
5440: -- 4219869 Business Flow
5441: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5442: -- Prior Entry. Currently, the following code is always generated.
5443: ------------------------------------------------------------------------------------------------
5444: XLA_AE_LINES_PKG.ValidateCurrentLine;
5445:
5440: -- 4219869 Business Flow
5441: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5442: -- Prior Entry. Currently, the following code is always generated.
5443: ------------------------------------------------------------------------------------------------
5444: XLA_AE_LINES_PKG.ValidateCurrentLine;
5445:
5446: ------------------------------------------------------------------------------------
5447: -- 4219869 Business Flow
5448: -- Populated credit and debit amounts -- Need to generate this within IF
5446: ------------------------------------------------------------------------------------
5447: -- 4219869 Business Flow
5448: -- Populated credit and debit amounts -- Need to generate this within IF
5449: ------------------------------------------------------------------------------------
5450: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5451:
5452: ----------------------------------------------------------------------------------
5453: -- 4219869 Business Flow
5454: -- Update journal entry status -- Need to generate this within IF
5478: -- To allow MPA report to determine if it should generate report process
5479: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5480: ------------------------------------------------------------------------------------------
5481:
5482: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5483: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5484:
5485: --
5486: -- Update the line information that should be overwritten
5479: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5480: ------------------------------------------------------------------------------------------
5481:
5482: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5483: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5484:
5485: --
5486: -- Update the line information that should be overwritten
5487: --
5484:
5485: --
5486: -- Update the line information that should be overwritten
5487: --
5488: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5489: p_header_num => 1);
5490: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5491:
5492: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5486: -- Update the line information that should be overwritten
5487: --
5488: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5489: p_header_num => 1);
5490: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5491:
5492: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5493:
5494: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5488: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5489: p_header_num => 1);
5490: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5491:
5492: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5493:
5494: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5495: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5496: END IF;
5491:
5492: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5493:
5494: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5495: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5496: END IF;
5497:
5498: --
5499: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5498: --
5499: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5500: --
5501: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5502: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5503: ELSE
5504: ---------------------------------------------------------------------------------------------------
5505: -- 4262811a Switch Sign
5506: ---------------------------------------------------------------------------------------------------
5503: ELSE
5504: ---------------------------------------------------------------------------------------------------
5505: -- 4262811a Switch Sign
5506: ---------------------------------------------------------------------------------------------------
5507: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5508: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5504: ---------------------------------------------------------------------------------------------------
5505: -- 4262811a Switch Sign
5506: ---------------------------------------------------------------------------------------------------
5507: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5508: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5505: -- 4262811a Switch Sign
5506: ---------------------------------------------------------------------------------------------------
5507: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5508: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5513: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5506: ---------------------------------------------------------------------------------------------------
5507: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5508: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5513: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5514: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5507: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5508: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5513: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5514: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5515:
5509: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5513: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5514: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5515:
5516: END IF;
5517:
5510: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5511: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5512: -- 5132302
5513: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5514: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5515:
5516: END IF;
5517:
5518: -- 4955764
5515:
5516: END IF;
5517:
5518: -- 4955764
5519: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5520: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5521:
5522:
5523: XLA_AE_LINES_PKG.ValidateCurrentLine;
5519: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5520: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5521:
5522:
5523: XLA_AE_LINES_PKG.ValidateCurrentLine;
5524: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5525:
5526: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5527: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5520: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5521:
5522:
5523: XLA_AE_LINES_PKG.ValidateCurrentLine;
5524: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5525:
5526: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5527: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5528: ,p_balance_type_code => l_balance_type_code);
5683: --
5684: -- bulk performance
5685: --
5686: l_balance_type_code VARCHAR2(1);
5687: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5688: l_log_module VARCHAR2(240);
5689:
5690: --
5691: -- Upgrade strategy
5783: ') = 'N'
5784: THEN
5785:
5786: --
5787: XLA_AE_LINES_PKG.SetNewLine;
5788:
5789: p_balance_type_code := l_balance_type_code;
5790: -- set the flag so later we will know whether the gain loss line needs to be created
5791:
5795:
5796: --
5797: -- bulk performance
5798: --
5799: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5800: p_header_num => 0); -- 4262811
5801: --
5802: -- set accounting line options
5803: --
5800: p_header_num => 0); -- 4262811
5801: --
5802: -- set accounting line options
5803: --
5804: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5805: p_natural_side_code => 'C'
5806: , p_gain_or_loss_flag => 'N'
5807: , p_gl_transfer_mode_code => 'S'
5808: , p_acct_entry_type_code => 'A'
5814: --
5815: --
5816: -- set accounting line type info
5817: --
5818: xla_ae_lines_pkg.SetAcctLineType
5819: (p_component_type => l_component_type
5820: ,p_event_type_code => l_event_type_code
5821: ,p_line_definition_owner_code => l_line_definition_owner_code
5822: ,p_line_definition_code => l_line_definition_code
5828: ,p_event_class_code => l_event_class_code);
5829: --
5830: -- set accounting class
5831: --
5832: xla_ae_lines_pkg.SetAcctClass(
5833: p_accounting_class_code => 'PURCHASE_ORDER'
5834: , p_ae_header_id => l_ae_header_id
5835: );
5836:
5836:
5837: --
5838: -- set rounding class
5839: --
5840: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5841: 'PURCHASE_ORDER';
5842:
5843: --
5844: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5840: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5841: 'PURCHASE_ORDER';
5842:
5843: --
5844: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5845: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5846: --
5847: -- bulk performance
5848: --
5841: 'PURCHASE_ORDER';
5842:
5843: --
5844: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5845: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5846: --
5847: -- bulk performance
5848: --
5849: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5845: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5846: --
5847: -- bulk performance
5848: --
5849: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5850:
5851: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5852: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5853:
5847: -- bulk performance
5848: --
5849: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5850:
5851: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5852: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5853:
5854: -- 4955764
5855: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5851: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5852: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5853:
5854: -- 4955764
5855: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5856: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5857:
5858: -- 4458381 Public Sector Enh
5859:
5941: l_rec_acct_attrs.array_num_value(33) := p_source_32;
5942: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
5943: l_rec_acct_attrs.array_num_value(34) := p_source_32;
5944:
5945: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5946: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5947:
5948: ---------------------------------------------------------------------------------------------------------------
5949: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5942: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
5943: l_rec_acct_attrs.array_num_value(34) := p_source_32;
5944:
5945: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5946: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5947:
5948: ---------------------------------------------------------------------------------------------------------------
5949: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5950: ---------------------------------------------------------------------------------------------------------------
5945: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5946: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5947:
5948: ---------------------------------------------------------------------------------------------------------------
5949: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5950: ---------------------------------------------------------------------------------------------------------------
5951: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5952:
5953: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5947:
5948: ---------------------------------------------------------------------------------------------------------------
5949: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5950: ---------------------------------------------------------------------------------------------------------------
5951: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5952:
5953: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5954: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5955:
5949: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5950: ---------------------------------------------------------------------------------------------------------------
5951: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5952:
5953: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5954: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5955:
5956: IF xla_accounting_cache_pkg.GetValueChar
5957: (p_source_code => 'LEDGER_CATEGORY_CODE'
5950: ---------------------------------------------------------------------------------------------------------------
5951: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5952:
5953: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5954: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5955:
5956: IF xla_accounting_cache_pkg.GetValueChar
5957: (p_source_code => 'LEDGER_CATEGORY_CODE'
5958: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5961: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5962: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5963: )
5964: THEN
5965: xla_ae_lines_pkg.BflowUpgEntry
5966: (p_business_method_code => l_bflow_method_code
5967: ,p_business_class_code => l_bflow_class_code
5968: ,p_balance_type => l_balance_type_code);
5969: ELSE
5978: --
5979: -- call description
5980: --
5981:
5982: xla_ae_lines_pkg.SetLineDescription(
5983: p_ae_header_id => l_ae_header_id
5984: ,p_description => Description_2 (
5985: p_application_id => p_application_id
5986: , p_ae_header_id => l_ae_header_id
6011: , x_value_type_code => l_adr_value_type_code
6012: , p_side => 'NA'
6013: );
6014:
6015: xla_ae_lines_pkg.set_ccid(
6016: p_code_combination_id => l_ccid
6017: , p_value_type_code => l_adr_value_type_code
6018: , p_transaction_coa_id => l_adr_transaction_coa_id
6019: , p_accounting_coa_id => l_adr_accounting_coa_id
6045: );
6046:
6047: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
6048:
6049: xla_ae_lines_pkg.set_segment(
6050: p_to_segment_code => 'GL_ACCOUNT'
6051: , p_segment_value => l_segment
6052: , p_from_segment_code => l_adr_value_segment_code
6053: , p_from_combination_id => l_adr_value_combination_id
6089: xla_accounting_err_pkg.build_message
6090: (p_appli_s_name => 'XLA'
6091: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6092: ,p_token_1 => 'LINE_NUMBER'
6093: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6094: ,p_token_2 => 'LINE_TYPE_NAME'
6095: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6096: l_component_type
6097: ,l_component_code
6125: --
6126: --
6127: ------------------------------------------------------------------------------------------------
6128: -- 4219869 Business Flow
6129: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6130: -- Prior Entry. Currently, the following code is always generated.
6131: ------------------------------------------------------------------------------------------------
6132: XLA_AE_LINES_PKG.ValidateCurrentLine;
6133:
6128: -- 4219869 Business Flow
6129: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6130: -- Prior Entry. Currently, the following code is always generated.
6131: ------------------------------------------------------------------------------------------------
6132: XLA_AE_LINES_PKG.ValidateCurrentLine;
6133:
6134: ------------------------------------------------------------------------------------
6135: -- 4219869 Business Flow
6136: -- Populated credit and debit amounts -- Need to generate this within IF
6134: ------------------------------------------------------------------------------------
6135: -- 4219869 Business Flow
6136: -- Populated credit and debit amounts -- Need to generate this within IF
6137: ------------------------------------------------------------------------------------
6138: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6139:
6140: ----------------------------------------------------------------------------------
6141: -- 4219869 Business Flow
6142: -- Update journal entry status -- Need to generate this within IF
6166: -- To allow MPA report to determine if it should generate report process
6167: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6168: ------------------------------------------------------------------------------------------
6169:
6170: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6171: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6172:
6173: --
6174: -- Update the line information that should be overwritten
6167: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6168: ------------------------------------------------------------------------------------------
6169:
6170: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6171: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6172:
6173: --
6174: -- Update the line information that should be overwritten
6175: --
6172:
6173: --
6174: -- Update the line information that should be overwritten
6175: --
6176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6177: p_header_num => 1);
6178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6179:
6180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6174: -- Update the line information that should be overwritten
6175: --
6176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6177: p_header_num => 1);
6178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6179:
6180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6181:
6182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6176: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6177: p_header_num => 1);
6178: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6179:
6180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6181:
6182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6183: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6184: END IF;
6179:
6180: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6181:
6182: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6183: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6184: END IF;
6185:
6186: --
6187: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6186: --
6187: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6188: --
6189: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6190: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6191: ELSE
6192: ---------------------------------------------------------------------------------------------------
6193: -- 4262811a Switch Sign
6194: ---------------------------------------------------------------------------------------------------
6191: ELSE
6192: ---------------------------------------------------------------------------------------------------
6193: -- 4262811a Switch Sign
6194: ---------------------------------------------------------------------------------------------------
6195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6192: ---------------------------------------------------------------------------------------------------
6193: -- 4262811a Switch Sign
6194: ---------------------------------------------------------------------------------------------------
6195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6193: -- 4262811a Switch Sign
6194: ---------------------------------------------------------------------------------------------------
6195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6194: ---------------------------------------------------------------------------------------------------
6195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6195: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6196: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6203:
6197: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6203:
6204: END IF;
6205:
6198: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6199: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6200: -- 5132302
6201: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6202: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6203:
6204: END IF;
6205:
6206: -- 4955764
6203:
6204: END IF;
6205:
6206: -- 4955764
6207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6209:
6210:
6211: XLA_AE_LINES_PKG.ValidateCurrentLine;
6207: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6209:
6210:
6211: XLA_AE_LINES_PKG.ValidateCurrentLine;
6212: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6213:
6214: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6215: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6208: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6209:
6210:
6211: XLA_AE_LINES_PKG.ValidateCurrentLine;
6212: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6213:
6214: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6215: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6216: ,p_balance_type_code => l_balance_type_code);
6369: --
6370: -- bulk performance
6371: --
6372: l_balance_type_code VARCHAR2(1);
6373: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6374: l_log_module VARCHAR2(240);
6375:
6376: --
6377: -- Upgrade strategy
6469: ') = 'N'
6470: THEN
6471:
6472: --
6473: XLA_AE_LINES_PKG.SetNewLine;
6474:
6475: p_balance_type_code := l_balance_type_code;
6476: -- set the flag so later we will know whether the gain loss line needs to be created
6477:
6481:
6482: --
6483: -- bulk performance
6484: --
6485: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6486: p_header_num => 0); -- 4262811
6487: --
6488: -- set accounting line options
6489: --
6486: p_header_num => 0); -- 4262811
6487: --
6488: -- set accounting line options
6489: --
6490: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6491: p_natural_side_code => 'D'
6492: , p_gain_or_loss_flag => 'N'
6493: , p_gl_transfer_mode_code => 'S'
6494: , p_acct_entry_type_code => 'A'
6500: --
6501: --
6502: -- set accounting line type info
6503: --
6504: xla_ae_lines_pkg.SetAcctLineType
6505: (p_component_type => l_component_type
6506: ,p_event_type_code => l_event_type_code
6507: ,p_line_definition_owner_code => l_line_definition_owner_code
6508: ,p_line_definition_code => l_line_definition_code
6514: ,p_event_class_code => l_event_class_code);
6515: --
6516: -- set accounting class
6517: --
6518: xla_ae_lines_pkg.SetAcctClass(
6519: p_accounting_class_code => 'PURCHASE_ORDER'
6520: , p_ae_header_id => l_ae_header_id
6521: );
6522:
6522:
6523: --
6524: -- set rounding class
6525: --
6526: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6527: 'PURCHASE_ORDER';
6528:
6529: --
6530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6526: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6527: 'PURCHASE_ORDER';
6528:
6529: --
6530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6532: --
6533: -- bulk performance
6534: --
6527: 'PURCHASE_ORDER';
6528:
6529: --
6530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6532: --
6533: -- bulk performance
6534: --
6535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6532: --
6533: -- bulk performance
6534: --
6535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6536:
6537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6539:
6533: -- bulk performance
6534: --
6535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6536:
6537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6539:
6540: -- 4955764
6541: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6539:
6540: -- 4955764
6541: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6542: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6543:
6544: -- 4458381 Public Sector Enh
6545:
6627: l_rec_acct_attrs.array_num_value(33) := p_source_32;
6628: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
6629: l_rec_acct_attrs.array_num_value(34) := p_source_32;
6630:
6631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6633:
6634: ---------------------------------------------------------------------------------------------------------------
6635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6628: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
6629: l_rec_acct_attrs.array_num_value(34) := p_source_32;
6630:
6631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6633:
6634: ---------------------------------------------------------------------------------------------------------------
6635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6636: ---------------------------------------------------------------------------------------------------------------
6631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6633:
6634: ---------------------------------------------------------------------------------------------------------------
6635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6636: ---------------------------------------------------------------------------------------------------------------
6637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6638:
6639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6633:
6634: ---------------------------------------------------------------------------------------------------------------
6635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6636: ---------------------------------------------------------------------------------------------------------------
6637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6638:
6639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6641:
6635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6636: ---------------------------------------------------------------------------------------------------------------
6637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6638:
6639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6641:
6642: IF xla_accounting_cache_pkg.GetValueChar
6643: (p_source_code => 'LEDGER_CATEGORY_CODE'
6636: ---------------------------------------------------------------------------------------------------------------
6637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6638:
6639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6641:
6642: IF xla_accounting_cache_pkg.GetValueChar
6643: (p_source_code => 'LEDGER_CATEGORY_CODE'
6644: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6647: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6648: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6649: )
6650: THEN
6651: xla_ae_lines_pkg.BflowUpgEntry
6652: (p_business_method_code => l_bflow_method_code
6653: ,p_business_class_code => l_bflow_class_code
6654: ,p_balance_type => l_balance_type_code);
6655: ELSE
6664: --
6665: -- call description
6666: --
6667:
6668: xla_ae_lines_pkg.SetLineDescription(
6669: p_ae_header_id => l_ae_header_id
6670: ,p_description => Description_2 (
6671: p_application_id => p_application_id
6672: , p_ae_header_id => l_ae_header_id
6697: , x_value_type_code => l_adr_value_type_code
6698: , p_side => 'NA'
6699: );
6700:
6701: xla_ae_lines_pkg.set_ccid(
6702: p_code_combination_id => l_ccid
6703: , p_value_type_code => l_adr_value_type_code
6704: , p_transaction_coa_id => l_adr_transaction_coa_id
6705: , p_accounting_coa_id => l_adr_accounting_coa_id
6730: );
6731:
6732: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
6733:
6734: xla_ae_lines_pkg.set_segment(
6735: p_to_segment_code => 'GL_ACCOUNT'
6736: , p_segment_value => l_segment
6737: , p_from_segment_code => l_adr_value_segment_code
6738: , p_from_combination_id => l_adr_value_combination_id
6774: xla_accounting_err_pkg.build_message
6775: (p_appli_s_name => 'XLA'
6776: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6777: ,p_token_1 => 'LINE_NUMBER'
6778: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6779: ,p_token_2 => 'LINE_TYPE_NAME'
6780: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6781: l_component_type
6782: ,l_component_code
6810: --
6811: --
6812: ------------------------------------------------------------------------------------------------
6813: -- 4219869 Business Flow
6814: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6815: -- Prior Entry. Currently, the following code is always generated.
6816: ------------------------------------------------------------------------------------------------
6817: XLA_AE_LINES_PKG.ValidateCurrentLine;
6818:
6813: -- 4219869 Business Flow
6814: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6815: -- Prior Entry. Currently, the following code is always generated.
6816: ------------------------------------------------------------------------------------------------
6817: XLA_AE_LINES_PKG.ValidateCurrentLine;
6818:
6819: ------------------------------------------------------------------------------------
6820: -- 4219869 Business Flow
6821: -- Populated credit and debit amounts -- Need to generate this within IF
6819: ------------------------------------------------------------------------------------
6820: -- 4219869 Business Flow
6821: -- Populated credit and debit amounts -- Need to generate this within IF
6822: ------------------------------------------------------------------------------------
6823: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6824:
6825: ----------------------------------------------------------------------------------
6826: -- 4219869 Business Flow
6827: -- Update journal entry status -- Need to generate this within IF
6851: -- To allow MPA report to determine if it should generate report process
6852: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6853: ------------------------------------------------------------------------------------------
6854:
6855: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6856: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6857:
6858: --
6859: -- Update the line information that should be overwritten
6852: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6853: ------------------------------------------------------------------------------------------
6854:
6855: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6856: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6857:
6858: --
6859: -- Update the line information that should be overwritten
6860: --
6857:
6858: --
6859: -- Update the line information that should be overwritten
6860: --
6861: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6862: p_header_num => 1);
6863: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6864:
6865: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6859: -- Update the line information that should be overwritten
6860: --
6861: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6862: p_header_num => 1);
6863: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6864:
6865: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6866:
6867: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6861: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6862: p_header_num => 1);
6863: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6864:
6865: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6866:
6867: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6868: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6869: END IF;
6864:
6865: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6866:
6867: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6868: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6869: END IF;
6870:
6871: --
6872: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6871: --
6872: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6873: --
6874: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6875: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6876: ELSE
6877: ---------------------------------------------------------------------------------------------------
6878: -- 4262811a Switch Sign
6879: ---------------------------------------------------------------------------------------------------
6876: ELSE
6877: ---------------------------------------------------------------------------------------------------
6878: -- 4262811a Switch Sign
6879: ---------------------------------------------------------------------------------------------------
6880: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6877: ---------------------------------------------------------------------------------------------------
6878: -- 4262811a Switch Sign
6879: ---------------------------------------------------------------------------------------------------
6880: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6878: -- 4262811a Switch Sign
6879: ---------------------------------------------------------------------------------------------------
6880: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6886: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6879: ---------------------------------------------------------------------------------------------------
6880: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6886: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6880: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6886: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6888:
6882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6886: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6888:
6889: END IF;
6890:
6883: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6885: -- 5132302
6886: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6888:
6889: END IF;
6890:
6891: -- 4955764
6888:
6889: END IF;
6890:
6891: -- 4955764
6892: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6893: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6894:
6895:
6896: XLA_AE_LINES_PKG.ValidateCurrentLine;
6892: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6893: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6894:
6895:
6896: XLA_AE_LINES_PKG.ValidateCurrentLine;
6897: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6898:
6899: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6900: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6893: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6894:
6895:
6896: XLA_AE_LINES_PKG.ValidateCurrentLine;
6897: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6898:
6899: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6900: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6901: ,p_balance_type_code => l_balance_type_code);
7052: --
7053: -- bulk performance
7054: --
7055: l_balance_type_code VARCHAR2(1);
7056: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7057: l_log_module VARCHAR2(240);
7058:
7059: --
7060: -- Upgrade strategy
7132: ') = 'N'
7133: THEN
7134:
7135: --
7136: XLA_AE_LINES_PKG.SetNewLine;
7137:
7138: p_balance_type_code := l_balance_type_code;
7139: -- set the flag so later we will know whether the gain loss line needs to be created
7140:
7144:
7145: --
7146: -- bulk performance
7147: --
7148: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7149: p_header_num => 0); -- 4262811
7150: --
7151: -- set accounting line options
7152: --
7149: p_header_num => 0); -- 4262811
7150: --
7151: -- set accounting line options
7152: --
7153: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7154: p_natural_side_code => 'C'
7155: , p_gain_or_loss_flag => 'N'
7156: , p_gl_transfer_mode_code => 'S'
7157: , p_acct_entry_type_code => 'A'
7163: --
7164: --
7165: -- set accounting line type info
7166: --
7167: xla_ae_lines_pkg.SetAcctLineType
7168: (p_component_type => l_component_type
7169: ,p_event_type_code => l_event_type_code
7170: ,p_line_definition_owner_code => l_line_definition_owner_code
7171: ,p_line_definition_code => l_line_definition_code
7177: ,p_event_class_code => l_event_class_code);
7178: --
7179: -- set accounting class
7180: --
7181: xla_ae_lines_pkg.SetAcctClass(
7182: p_accounting_class_code => 'PURCHASE_ORDER'
7183: , p_ae_header_id => l_ae_header_id
7184: );
7185:
7185:
7186: --
7187: -- set rounding class
7188: --
7189: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7190: 'PURCHASE_ORDER';
7191:
7192: --
7193: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7189: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7190: 'PURCHASE_ORDER';
7191:
7192: --
7193: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7194: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7195: --
7196: -- bulk performance
7197: --
7190: 'PURCHASE_ORDER';
7191:
7192: --
7193: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7194: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7195: --
7196: -- bulk performance
7197: --
7198: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7194: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7195: --
7196: -- bulk performance
7197: --
7198: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7199:
7200: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7201: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7202:
7196: -- bulk performance
7197: --
7198: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7199:
7200: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7201: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7202:
7203: -- 4955764
7204: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7200: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7201: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7202:
7203: -- 4955764
7204: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7205: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7206:
7207: -- 4458381 Public Sector Enh
7208:
7290: l_rec_acct_attrs.array_num_value(33) := p_source_32;
7291: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
7292: l_rec_acct_attrs.array_num_value(34) := p_source_32;
7293:
7294: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7295: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7296:
7297: ---------------------------------------------------------------------------------------------------------------
7298: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7291: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
7292: l_rec_acct_attrs.array_num_value(34) := p_source_32;
7293:
7294: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7295: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7296:
7297: ---------------------------------------------------------------------------------------------------------------
7298: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7299: ---------------------------------------------------------------------------------------------------------------
7294: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7295: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7296:
7297: ---------------------------------------------------------------------------------------------------------------
7298: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7299: ---------------------------------------------------------------------------------------------------------------
7300: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7301:
7302: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7296:
7297: ---------------------------------------------------------------------------------------------------------------
7298: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7299: ---------------------------------------------------------------------------------------------------------------
7300: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7301:
7302: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7303: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7304:
7298: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7299: ---------------------------------------------------------------------------------------------------------------
7300: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7301:
7302: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7303: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7304:
7305: IF xla_accounting_cache_pkg.GetValueChar
7306: (p_source_code => 'LEDGER_CATEGORY_CODE'
7299: ---------------------------------------------------------------------------------------------------------------
7300: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7301:
7302: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7303: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7304:
7305: IF xla_accounting_cache_pkg.GetValueChar
7306: (p_source_code => 'LEDGER_CATEGORY_CODE'
7307: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7310: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7311: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7312: )
7313: THEN
7314: xla_ae_lines_pkg.BflowUpgEntry
7315: (p_business_method_code => l_bflow_method_code
7316: ,p_business_class_code => l_bflow_class_code
7317: ,p_balance_type => l_balance_type_code);
7318: ELSE
7327: --
7328: -- call description
7329: --
7330:
7331: xla_ae_lines_pkg.SetLineDescription(
7332: p_ae_header_id => l_ae_header_id
7333: ,p_description => Description_2 (
7334: p_application_id => p_application_id
7335: , p_ae_header_id => l_ae_header_id
7360: , x_value_type_code => l_adr_value_type_code
7361: , p_side => 'NA'
7362: );
7363:
7364: xla_ae_lines_pkg.set_ccid(
7365: p_code_combination_id => l_ccid
7366: , p_value_type_code => l_adr_value_type_code
7367: , p_transaction_coa_id => l_adr_transaction_coa_id
7368: , p_accounting_coa_id => l_adr_accounting_coa_id
7392: );
7393:
7394: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7395:
7396: xla_ae_lines_pkg.set_segment(
7397: p_to_segment_code => 'GL_ACCOUNT'
7398: , p_segment_value => l_segment
7399: , p_from_segment_code => l_adr_value_segment_code
7400: , p_from_combination_id => l_adr_value_combination_id
7436: xla_accounting_err_pkg.build_message
7437: (p_appli_s_name => 'XLA'
7438: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7439: ,p_token_1 => 'LINE_NUMBER'
7440: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7441: ,p_token_2 => 'LINE_TYPE_NAME'
7442: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7443: l_component_type
7444: ,l_component_code
7472: --
7473: --
7474: ------------------------------------------------------------------------------------------------
7475: -- 4219869 Business Flow
7476: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7477: -- Prior Entry. Currently, the following code is always generated.
7478: ------------------------------------------------------------------------------------------------
7479: XLA_AE_LINES_PKG.ValidateCurrentLine;
7480:
7475: -- 4219869 Business Flow
7476: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7477: -- Prior Entry. Currently, the following code is always generated.
7478: ------------------------------------------------------------------------------------------------
7479: XLA_AE_LINES_PKG.ValidateCurrentLine;
7480:
7481: ------------------------------------------------------------------------------------
7482: -- 4219869 Business Flow
7483: -- Populated credit and debit amounts -- Need to generate this within IF
7481: ------------------------------------------------------------------------------------
7482: -- 4219869 Business Flow
7483: -- Populated credit and debit amounts -- Need to generate this within IF
7484: ------------------------------------------------------------------------------------
7485: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7486:
7487: ----------------------------------------------------------------------------------
7488: -- 4219869 Business Flow
7489: -- Update journal entry status -- Need to generate this within IF
7513: -- To allow MPA report to determine if it should generate report process
7514: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7515: ------------------------------------------------------------------------------------------
7516:
7517: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7518: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7519:
7520: --
7521: -- Update the line information that should be overwritten
7514: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7515: ------------------------------------------------------------------------------------------
7516:
7517: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7518: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7519:
7520: --
7521: -- Update the line information that should be overwritten
7522: --
7519:
7520: --
7521: -- Update the line information that should be overwritten
7522: --
7523: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7524: p_header_num => 1);
7525: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7526:
7527: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7521: -- Update the line information that should be overwritten
7522: --
7523: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7524: p_header_num => 1);
7525: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7526:
7527: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7528:
7529: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7523: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7524: p_header_num => 1);
7525: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7526:
7527: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7528:
7529: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7530: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7531: END IF;
7526:
7527: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7528:
7529: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7530: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7531: END IF;
7532:
7533: --
7534: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7533: --
7534: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7535: --
7536: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7537: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7538: ELSE
7539: ---------------------------------------------------------------------------------------------------
7540: -- 4262811a Switch Sign
7541: ---------------------------------------------------------------------------------------------------
7538: ELSE
7539: ---------------------------------------------------------------------------------------------------
7540: -- 4262811a Switch Sign
7541: ---------------------------------------------------------------------------------------------------
7542: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7543: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7539: ---------------------------------------------------------------------------------------------------
7540: -- 4262811a Switch Sign
7541: ---------------------------------------------------------------------------------------------------
7542: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7543: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7540: -- 4262811a Switch Sign
7541: ---------------------------------------------------------------------------------------------------
7542: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7543: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7548: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7541: ---------------------------------------------------------------------------------------------------
7542: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7543: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7548: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7549: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7542: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7543: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7548: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7549: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7550:
7544: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7548: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7549: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7550:
7551: END IF;
7552:
7545: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7546: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7547: -- 5132302
7548: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7549: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7550:
7551: END IF;
7552:
7553: -- 4955764
7550:
7551: END IF;
7552:
7553: -- 4955764
7554: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7555: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7556:
7557:
7558: XLA_AE_LINES_PKG.ValidateCurrentLine;
7554: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7555: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7556:
7557:
7558: XLA_AE_LINES_PKG.ValidateCurrentLine;
7559: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7560:
7561: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7562: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7555: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7556:
7557:
7558: XLA_AE_LINES_PKG.ValidateCurrentLine;
7559: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7560:
7561: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7562: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7563: ,p_balance_type_code => l_balance_type_code);
7718: --
7719: -- bulk performance
7720: --
7721: l_balance_type_code VARCHAR2(1);
7722: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7723: l_log_module VARCHAR2(240);
7724:
7725: --
7726: -- Upgrade strategy
7798: ') = 'N'
7799: THEN
7800:
7801: --
7802: XLA_AE_LINES_PKG.SetNewLine;
7803:
7804: p_balance_type_code := l_balance_type_code;
7805: -- set the flag so later we will know whether the gain loss line needs to be created
7806:
7810:
7811: --
7812: -- bulk performance
7813: --
7814: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7815: p_header_num => 0); -- 4262811
7816: --
7817: -- set accounting line options
7818: --
7815: p_header_num => 0); -- 4262811
7816: --
7817: -- set accounting line options
7818: --
7819: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7820: p_natural_side_code => 'D'
7821: , p_gain_or_loss_flag => 'N'
7822: , p_gl_transfer_mode_code => 'S'
7823: , p_acct_entry_type_code => 'A'
7829: --
7830: --
7831: -- set accounting line type info
7832: --
7833: xla_ae_lines_pkg.SetAcctLineType
7834: (p_component_type => l_component_type
7835: ,p_event_type_code => l_event_type_code
7836: ,p_line_definition_owner_code => l_line_definition_owner_code
7837: ,p_line_definition_code => l_line_definition_code
7843: ,p_event_class_code => l_event_class_code);
7844: --
7845: -- set accounting class
7846: --
7847: xla_ae_lines_pkg.SetAcctClass(
7848: p_accounting_class_code => 'PURCHASE_ORDER'
7849: , p_ae_header_id => l_ae_header_id
7850: );
7851:
7851:
7852: --
7853: -- set rounding class
7854: --
7855: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7856: 'PURCHASE_ORDER';
7857:
7858: --
7859: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7855: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7856: 'PURCHASE_ORDER';
7857:
7858: --
7859: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7860: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7861: --
7862: -- bulk performance
7863: --
7856: 'PURCHASE_ORDER';
7857:
7858: --
7859: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7860: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7861: --
7862: -- bulk performance
7863: --
7864: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7860: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7861: --
7862: -- bulk performance
7863: --
7864: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7865:
7866: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7867: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7868:
7862: -- bulk performance
7863: --
7864: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7865:
7866: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7867: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7868:
7869: -- 4955764
7870: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7866: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7867: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7868:
7869: -- 4955764
7870: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7871: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7872:
7873: -- 4458381 Public Sector Enh
7874:
7956: l_rec_acct_attrs.array_num_value(33) := p_source_32;
7957: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
7958: l_rec_acct_attrs.array_num_value(34) := p_source_32;
7959:
7960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7962:
7963: ---------------------------------------------------------------------------------------------------------------
7964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7957: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
7958: l_rec_acct_attrs.array_num_value(34) := p_source_32;
7959:
7960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7962:
7963: ---------------------------------------------------------------------------------------------------------------
7964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7965: ---------------------------------------------------------------------------------------------------------------
7960: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7961: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7962:
7963: ---------------------------------------------------------------------------------------------------------------
7964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7965: ---------------------------------------------------------------------------------------------------------------
7966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7967:
7968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7962:
7963: ---------------------------------------------------------------------------------------------------------------
7964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7965: ---------------------------------------------------------------------------------------------------------------
7966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7967:
7968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7970:
7964: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7965: ---------------------------------------------------------------------------------------------------------------
7966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7967:
7968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7970:
7971: IF xla_accounting_cache_pkg.GetValueChar
7972: (p_source_code => 'LEDGER_CATEGORY_CODE'
7965: ---------------------------------------------------------------------------------------------------------------
7966: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7967:
7968: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7969: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7970:
7971: IF xla_accounting_cache_pkg.GetValueChar
7972: (p_source_code => 'LEDGER_CATEGORY_CODE'
7973: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7976: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7977: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7978: )
7979: THEN
7980: xla_ae_lines_pkg.BflowUpgEntry
7981: (p_business_method_code => l_bflow_method_code
7982: ,p_business_class_code => l_bflow_class_code
7983: ,p_balance_type => l_balance_type_code);
7984: ELSE
7993: --
7994: -- call description
7995: --
7996:
7997: xla_ae_lines_pkg.SetLineDescription(
7998: p_ae_header_id => l_ae_header_id
7999: ,p_description => Description_2 (
8000: p_application_id => p_application_id
8001: , p_ae_header_id => l_ae_header_id
8026: , x_value_type_code => l_adr_value_type_code
8027: , p_side => 'NA'
8028: );
8029:
8030: xla_ae_lines_pkg.set_ccid(
8031: p_code_combination_id => l_ccid
8032: , p_value_type_code => l_adr_value_type_code
8033: , p_transaction_coa_id => l_adr_transaction_coa_id
8034: , p_accounting_coa_id => l_adr_accounting_coa_id
8060: );
8061:
8062: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8063:
8064: xla_ae_lines_pkg.set_segment(
8065: p_to_segment_code => 'GL_ACCOUNT'
8066: , p_segment_value => l_segment
8067: , p_from_segment_code => l_adr_value_segment_code
8068: , p_from_combination_id => l_adr_value_combination_id
8104: xla_accounting_err_pkg.build_message
8105: (p_appli_s_name => 'XLA'
8106: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8107: ,p_token_1 => 'LINE_NUMBER'
8108: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8109: ,p_token_2 => 'LINE_TYPE_NAME'
8110: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8111: l_component_type
8112: ,l_component_code
8140: --
8141: --
8142: ------------------------------------------------------------------------------------------------
8143: -- 4219869 Business Flow
8144: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8145: -- Prior Entry. Currently, the following code is always generated.
8146: ------------------------------------------------------------------------------------------------
8147: XLA_AE_LINES_PKG.ValidateCurrentLine;
8148:
8143: -- 4219869 Business Flow
8144: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8145: -- Prior Entry. Currently, the following code is always generated.
8146: ------------------------------------------------------------------------------------------------
8147: XLA_AE_LINES_PKG.ValidateCurrentLine;
8148:
8149: ------------------------------------------------------------------------------------
8150: -- 4219869 Business Flow
8151: -- Populated credit and debit amounts -- Need to generate this within IF
8149: ------------------------------------------------------------------------------------
8150: -- 4219869 Business Flow
8151: -- Populated credit and debit amounts -- Need to generate this within IF
8152: ------------------------------------------------------------------------------------
8153: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8154:
8155: ----------------------------------------------------------------------------------
8156: -- 4219869 Business Flow
8157: -- Update journal entry status -- Need to generate this within IF
8181: -- To allow MPA report to determine if it should generate report process
8182: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8183: ------------------------------------------------------------------------------------------
8184:
8185: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8186: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8187:
8188: --
8189: -- Update the line information that should be overwritten
8182: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8183: ------------------------------------------------------------------------------------------
8184:
8185: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8186: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8187:
8188: --
8189: -- Update the line information that should be overwritten
8190: --
8187:
8188: --
8189: -- Update the line information that should be overwritten
8190: --
8191: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8192: p_header_num => 1);
8193: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8194:
8195: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8189: -- Update the line information that should be overwritten
8190: --
8191: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8192: p_header_num => 1);
8193: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8194:
8195: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8196:
8197: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8191: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8192: p_header_num => 1);
8193: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8194:
8195: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8196:
8197: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8198: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8199: END IF;
8194:
8195: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8196:
8197: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8198: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8199: END IF;
8200:
8201: --
8202: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8201: --
8202: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8203: --
8204: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8205: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8206: ELSE
8207: ---------------------------------------------------------------------------------------------------
8208: -- 4262811a Switch Sign
8209: ---------------------------------------------------------------------------------------------------
8206: ELSE
8207: ---------------------------------------------------------------------------------------------------
8208: -- 4262811a Switch Sign
8209: ---------------------------------------------------------------------------------------------------
8210: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8211: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8207: ---------------------------------------------------------------------------------------------------
8208: -- 4262811a Switch Sign
8209: ---------------------------------------------------------------------------------------------------
8210: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8211: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8208: -- 4262811a Switch Sign
8209: ---------------------------------------------------------------------------------------------------
8210: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8211: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8216: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8209: ---------------------------------------------------------------------------------------------------
8210: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8211: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8216: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8210: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8211: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8216: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8218:
8212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8216: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8218:
8219: END IF;
8220:
8213: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8215: -- 5132302
8216: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8218:
8219: END IF;
8220:
8221: -- 4955764
8218:
8219: END IF;
8220:
8221: -- 4955764
8222: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8223: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8224:
8225:
8226: XLA_AE_LINES_PKG.ValidateCurrentLine;
8222: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8223: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8224:
8225:
8226: XLA_AE_LINES_PKG.ValidateCurrentLine;
8227: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8228:
8229: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8230: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8223: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8224:
8225:
8226: XLA_AE_LINES_PKG.ValidateCurrentLine;
8227: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8228:
8229: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8230: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8231: ,p_balance_type_code => l_balance_type_code);
8386: --
8387: -- bulk performance
8388: --
8389: l_balance_type_code VARCHAR2(1);
8390: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8391: l_log_module VARCHAR2(240);
8392:
8393: --
8394: -- Upgrade strategy
8467: p_source_11 > 0
8468: THEN
8469:
8470: --
8471: XLA_AE_LINES_PKG.SetNewLine;
8472:
8473: p_balance_type_code := l_balance_type_code;
8474: -- set the flag so later we will know whether the gain loss line needs to be created
8475:
8479:
8480: --
8481: -- bulk performance
8482: --
8483: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8484: p_header_num => 0); -- 4262811
8485: --
8486: -- set accounting line options
8487: --
8484: p_header_num => 0); -- 4262811
8485: --
8486: -- set accounting line options
8487: --
8488: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8489: p_natural_side_code => 'C'
8490: , p_gain_or_loss_flag => 'N'
8491: , p_gl_transfer_mode_code => 'S'
8492: , p_acct_entry_type_code => 'A'
8498: --
8499: --
8500: -- set accounting line type info
8501: --
8502: xla_ae_lines_pkg.SetAcctLineType
8503: (p_component_type => l_component_type
8504: ,p_event_type_code => l_event_type_code
8505: ,p_line_definition_owner_code => l_line_definition_owner_code
8506: ,p_line_definition_code => l_line_definition_code
8512: ,p_event_class_code => l_event_class_code);
8513: --
8514: -- set accounting class
8515: --
8516: xla_ae_lines_pkg.SetAcctClass(
8517: p_accounting_class_code => 'PURCHASE_ORDER'
8518: , p_ae_header_id => l_ae_header_id
8519: );
8520:
8520:
8521: --
8522: -- set rounding class
8523: --
8524: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8525: 'PURCHASE_ORDER';
8526:
8527: --
8528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8524: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8525: 'PURCHASE_ORDER';
8526:
8527: --
8528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8530: --
8531: -- bulk performance
8532: --
8525: 'PURCHASE_ORDER';
8526:
8527: --
8528: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8530: --
8531: -- bulk performance
8532: --
8533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8529: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8530: --
8531: -- bulk performance
8532: --
8533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8534:
8535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8537:
8531: -- bulk performance
8532: --
8533: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8534:
8535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8537:
8538: -- 4955764
8539: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8535: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8536: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8537:
8538: -- 4955764
8539: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8540: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8541:
8542: -- 4458381 Public Sector Enh
8543:
8625: l_rec_acct_attrs.array_num_value(33) := p_source_32;
8626: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
8627: l_rec_acct_attrs.array_num_value(34) := p_source_32;
8628:
8629: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8630: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8631:
8632: ---------------------------------------------------------------------------------------------------------------
8633: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8626: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
8627: l_rec_acct_attrs.array_num_value(34) := p_source_32;
8628:
8629: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8630: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8631:
8632: ---------------------------------------------------------------------------------------------------------------
8633: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8634: ---------------------------------------------------------------------------------------------------------------
8629: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8630: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8631:
8632: ---------------------------------------------------------------------------------------------------------------
8633: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8634: ---------------------------------------------------------------------------------------------------------------
8635: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8636:
8637: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8631:
8632: ---------------------------------------------------------------------------------------------------------------
8633: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8634: ---------------------------------------------------------------------------------------------------------------
8635: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8636:
8637: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8638: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8639:
8633: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8634: ---------------------------------------------------------------------------------------------------------------
8635: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8636:
8637: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8638: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8639:
8640: IF xla_accounting_cache_pkg.GetValueChar
8641: (p_source_code => 'LEDGER_CATEGORY_CODE'
8634: ---------------------------------------------------------------------------------------------------------------
8635: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8636:
8637: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8638: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8639:
8640: IF xla_accounting_cache_pkg.GetValueChar
8641: (p_source_code => 'LEDGER_CATEGORY_CODE'
8642: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8645: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8646: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8647: )
8648: THEN
8649: xla_ae_lines_pkg.BflowUpgEntry
8650: (p_business_method_code => l_bflow_method_code
8651: ,p_business_class_code => l_bflow_class_code
8652: ,p_balance_type => l_balance_type_code);
8653: ELSE
8662: --
8663: -- call description
8664: --
8665:
8666: xla_ae_lines_pkg.SetLineDescription(
8667: p_ae_header_id => l_ae_header_id
8668: ,p_description => Description_2 (
8669: p_application_id => p_application_id
8670: , p_ae_header_id => l_ae_header_id
8695: , x_value_type_code => l_adr_value_type_code
8696: , p_side => 'NA'
8697: );
8698:
8699: xla_ae_lines_pkg.set_ccid(
8700: p_code_combination_id => l_ccid
8701: , p_value_type_code => l_adr_value_type_code
8702: , p_transaction_coa_id => l_adr_transaction_coa_id
8703: , p_accounting_coa_id => l_adr_accounting_coa_id
8727: );
8728:
8729: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8730:
8731: xla_ae_lines_pkg.set_segment(
8732: p_to_segment_code => 'GL_ACCOUNT'
8733: , p_segment_value => l_segment
8734: , p_from_segment_code => l_adr_value_segment_code
8735: , p_from_combination_id => l_adr_value_combination_id
8771: xla_accounting_err_pkg.build_message
8772: (p_appli_s_name => 'XLA'
8773: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8774: ,p_token_1 => 'LINE_NUMBER'
8775: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8776: ,p_token_2 => 'LINE_TYPE_NAME'
8777: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8778: l_component_type
8779: ,l_component_code
8807: --
8808: --
8809: ------------------------------------------------------------------------------------------------
8810: -- 4219869 Business Flow
8811: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8812: -- Prior Entry. Currently, the following code is always generated.
8813: ------------------------------------------------------------------------------------------------
8814: XLA_AE_LINES_PKG.ValidateCurrentLine;
8815:
8810: -- 4219869 Business Flow
8811: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8812: -- Prior Entry. Currently, the following code is always generated.
8813: ------------------------------------------------------------------------------------------------
8814: XLA_AE_LINES_PKG.ValidateCurrentLine;
8815:
8816: ------------------------------------------------------------------------------------
8817: -- 4219869 Business Flow
8818: -- Populated credit and debit amounts -- Need to generate this within IF
8816: ------------------------------------------------------------------------------------
8817: -- 4219869 Business Flow
8818: -- Populated credit and debit amounts -- Need to generate this within IF
8819: ------------------------------------------------------------------------------------
8820: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8821:
8822: ----------------------------------------------------------------------------------
8823: -- 4219869 Business Flow
8824: -- Update journal entry status -- Need to generate this within IF
8848: -- To allow MPA report to determine if it should generate report process
8849: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8850: ------------------------------------------------------------------------------------------
8851:
8852: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8853: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8854:
8855: --
8856: -- Update the line information that should be overwritten
8849: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8850: ------------------------------------------------------------------------------------------
8851:
8852: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8853: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8854:
8855: --
8856: -- Update the line information that should be overwritten
8857: --
8854:
8855: --
8856: -- Update the line information that should be overwritten
8857: --
8858: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8859: p_header_num => 1);
8860: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8861:
8862: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8856: -- Update the line information that should be overwritten
8857: --
8858: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8859: p_header_num => 1);
8860: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8861:
8862: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8863:
8864: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8858: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8859: p_header_num => 1);
8860: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8861:
8862: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8863:
8864: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8865: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8866: END IF;
8861:
8862: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8863:
8864: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8865: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8866: END IF;
8867:
8868: --
8869: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8868: --
8869: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8870: --
8871: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8872: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8873: ELSE
8874: ---------------------------------------------------------------------------------------------------
8875: -- 4262811a Switch Sign
8876: ---------------------------------------------------------------------------------------------------
8873: ELSE
8874: ---------------------------------------------------------------------------------------------------
8875: -- 4262811a Switch Sign
8876: ---------------------------------------------------------------------------------------------------
8877: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8878: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8874: ---------------------------------------------------------------------------------------------------
8875: -- 4262811a Switch Sign
8876: ---------------------------------------------------------------------------------------------------
8877: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8878: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8875: -- 4262811a Switch Sign
8876: ---------------------------------------------------------------------------------------------------
8877: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8878: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8883: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8876: ---------------------------------------------------------------------------------------------------
8877: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8878: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8883: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8884: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8877: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8878: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8883: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8884: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8885:
8879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8883: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8884: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8885:
8886: END IF;
8887:
8880: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8881: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8882: -- 5132302
8883: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8884: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8885:
8886: END IF;
8887:
8888: -- 4955764
8885:
8886: END IF;
8887:
8888: -- 4955764
8889: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8890: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8891:
8892:
8893: XLA_AE_LINES_PKG.ValidateCurrentLine;
8889: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8890: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8891:
8892:
8893: XLA_AE_LINES_PKG.ValidateCurrentLine;
8894: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8895:
8896: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8897: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8890: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8891:
8892:
8893: XLA_AE_LINES_PKG.ValidateCurrentLine;
8894: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8895:
8896: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8897: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8898: ,p_balance_type_code => l_balance_type_code);
9057: --
9058: -- bulk performance
9059: --
9060: l_balance_type_code VARCHAR2(1);
9061: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9062: l_log_module VARCHAR2(240);
9063:
9064: --
9065: -- Upgrade strategy
9139: p_source_11 IS NOT NULL
9140: THEN
9141:
9142: --
9143: XLA_AE_LINES_PKG.SetNewLine;
9144:
9145: p_balance_type_code := l_balance_type_code;
9146: -- set the flag so later we will know whether the gain loss line needs to be created
9147:
9151:
9152: --
9153: -- bulk performance
9154: --
9155: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9156: p_header_num => 0); -- 4262811
9157: --
9158: -- set accounting line options
9159: --
9156: p_header_num => 0); -- 4262811
9157: --
9158: -- set accounting line options
9159: --
9160: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9161: p_natural_side_code => 'D'
9162: , p_gain_or_loss_flag => 'N'
9163: , p_gl_transfer_mode_code => 'S'
9164: , p_acct_entry_type_code => 'A'
9170: --
9171: --
9172: -- set accounting line type info
9173: --
9174: xla_ae_lines_pkg.SetAcctLineType
9175: (p_component_type => l_component_type
9176: ,p_event_type_code => l_event_type_code
9177: ,p_line_definition_owner_code => l_line_definition_owner_code
9178: ,p_line_definition_code => l_line_definition_code
9184: ,p_event_class_code => l_event_class_code);
9185: --
9186: -- set accounting class
9187: --
9188: xla_ae_lines_pkg.SetAcctClass(
9189: p_accounting_class_code => 'PURCHASE_ORDER'
9190: , p_ae_header_id => l_ae_header_id
9191: );
9192:
9192:
9193: --
9194: -- set rounding class
9195: --
9196: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: 'PURCHASE_ORDER';
9198:
9199: --
9200: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9196: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9197: 'PURCHASE_ORDER';
9198:
9199: --
9200: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9201: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9202: --
9203: -- bulk performance
9204: --
9197: 'PURCHASE_ORDER';
9198:
9199: --
9200: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9201: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9202: --
9203: -- bulk performance
9204: --
9205: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9201: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9202: --
9203: -- bulk performance
9204: --
9205: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9206:
9207: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9208: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9209:
9203: -- bulk performance
9204: --
9205: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9206:
9207: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9208: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9209:
9210: -- 4955764
9211: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9207: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9208: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9209:
9210: -- 4955764
9211: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9212: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9213:
9214: -- 4458381 Public Sector Enh
9215:
9297: l_rec_acct_attrs.array_num_value(33) := p_source_32;
9298: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
9299: l_rec_acct_attrs.array_num_value(34) := p_source_32;
9300:
9301: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9302: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9303:
9304: ---------------------------------------------------------------------------------------------------------------
9305: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9298: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
9299: l_rec_acct_attrs.array_num_value(34) := p_source_32;
9300:
9301: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9302: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9303:
9304: ---------------------------------------------------------------------------------------------------------------
9305: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9306: ---------------------------------------------------------------------------------------------------------------
9301: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9302: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9303:
9304: ---------------------------------------------------------------------------------------------------------------
9305: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9306: ---------------------------------------------------------------------------------------------------------------
9307: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9308:
9309: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9303:
9304: ---------------------------------------------------------------------------------------------------------------
9305: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9306: ---------------------------------------------------------------------------------------------------------------
9307: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9308:
9309: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9310: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9311:
9305: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9306: ---------------------------------------------------------------------------------------------------------------
9307: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9308:
9309: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9310: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9311:
9312: IF xla_accounting_cache_pkg.GetValueChar
9313: (p_source_code => 'LEDGER_CATEGORY_CODE'
9306: ---------------------------------------------------------------------------------------------------------------
9307: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9308:
9309: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9310: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9311:
9312: IF xla_accounting_cache_pkg.GetValueChar
9313: (p_source_code => 'LEDGER_CATEGORY_CODE'
9314: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9317: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9318: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9319: )
9320: THEN
9321: xla_ae_lines_pkg.BflowUpgEntry
9322: (p_business_method_code => l_bflow_method_code
9323: ,p_business_class_code => l_bflow_class_code
9324: ,p_balance_type => l_balance_type_code);
9325: ELSE
9334: --
9335: -- call description
9336: --
9337:
9338: xla_ae_lines_pkg.SetLineDescription(
9339: p_ae_header_id => l_ae_header_id
9340: ,p_description => Description_2 (
9341: p_application_id => p_application_id
9342: , p_ae_header_id => l_ae_header_id
9367: , x_value_type_code => l_adr_value_type_code
9368: , p_side => 'NA'
9369: );
9370:
9371: xla_ae_lines_pkg.set_ccid(
9372: p_code_combination_id => l_ccid
9373: , p_value_type_code => l_adr_value_type_code
9374: , p_transaction_coa_id => l_adr_transaction_coa_id
9375: , p_accounting_coa_id => l_adr_accounting_coa_id
9403: );
9404:
9405: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9406:
9407: xla_ae_lines_pkg.set_segment(
9408: p_to_segment_code => 'GL_ACCOUNT'
9409: , p_segment_value => l_segment
9410: , p_from_segment_code => l_adr_value_segment_code
9411: , p_from_combination_id => l_adr_value_combination_id
9447: xla_accounting_err_pkg.build_message
9448: (p_appli_s_name => 'XLA'
9449: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9450: ,p_token_1 => 'LINE_NUMBER'
9451: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9452: ,p_token_2 => 'LINE_TYPE_NAME'
9453: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9454: l_component_type
9455: ,l_component_code
9483: --
9484: --
9485: ------------------------------------------------------------------------------------------------
9486: -- 4219869 Business Flow
9487: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9488: -- Prior Entry. Currently, the following code is always generated.
9489: ------------------------------------------------------------------------------------------------
9490: XLA_AE_LINES_PKG.ValidateCurrentLine;
9491:
9486: -- 4219869 Business Flow
9487: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9488: -- Prior Entry. Currently, the following code is always generated.
9489: ------------------------------------------------------------------------------------------------
9490: XLA_AE_LINES_PKG.ValidateCurrentLine;
9491:
9492: ------------------------------------------------------------------------------------
9493: -- 4219869 Business Flow
9494: -- Populated credit and debit amounts -- Need to generate this within IF
9492: ------------------------------------------------------------------------------------
9493: -- 4219869 Business Flow
9494: -- Populated credit and debit amounts -- Need to generate this within IF
9495: ------------------------------------------------------------------------------------
9496: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9497:
9498: ----------------------------------------------------------------------------------
9499: -- 4219869 Business Flow
9500: -- Update journal entry status -- Need to generate this within IF
9524: -- To allow MPA report to determine if it should generate report process
9525: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9526: ------------------------------------------------------------------------------------------
9527:
9528: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9529: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9530:
9531: --
9532: -- Update the line information that should be overwritten
9525: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9526: ------------------------------------------------------------------------------------------
9527:
9528: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9529: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9530:
9531: --
9532: -- Update the line information that should be overwritten
9533: --
9530:
9531: --
9532: -- Update the line information that should be overwritten
9533: --
9534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9535: p_header_num => 1);
9536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9537:
9538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9532: -- Update the line information that should be overwritten
9533: --
9534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9535: p_header_num => 1);
9536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9537:
9538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9539:
9540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9534: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9535: p_header_num => 1);
9536: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9537:
9538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9539:
9540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9541: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9542: END IF;
9537:
9538: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9539:
9540: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9541: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9542: END IF;
9543:
9544: --
9545: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9544: --
9545: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9546: --
9547: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9548: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9549: ELSE
9550: ---------------------------------------------------------------------------------------------------
9551: -- 4262811a Switch Sign
9552: ---------------------------------------------------------------------------------------------------
9549: ELSE
9550: ---------------------------------------------------------------------------------------------------
9551: -- 4262811a Switch Sign
9552: ---------------------------------------------------------------------------------------------------
9553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9550: ---------------------------------------------------------------------------------------------------
9551: -- 4262811a Switch Sign
9552: ---------------------------------------------------------------------------------------------------
9553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9551: -- 4262811a Switch Sign
9552: ---------------------------------------------------------------------------------------------------
9553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9552: ---------------------------------------------------------------------------------------------------
9553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9553: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9554: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9561:
9555: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9561:
9562: END IF;
9563:
9556: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9557: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9558: -- 5132302
9559: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9560: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9561:
9562: END IF;
9563:
9564: -- 4955764
9561:
9562: END IF;
9563:
9564: -- 4955764
9565: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9567:
9568:
9569: XLA_AE_LINES_PKG.ValidateCurrentLine;
9565: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9567:
9568:
9569: XLA_AE_LINES_PKG.ValidateCurrentLine;
9570: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9571:
9572: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9573: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9566: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9567:
9568:
9569: XLA_AE_LINES_PKG.ValidateCurrentLine;
9570: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9571:
9572: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9573: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9574: ,p_balance_type_code => l_balance_type_code);
9729: --
9730: -- bulk performance
9731: --
9732: l_balance_type_code VARCHAR2(1);
9733: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9734: l_log_module VARCHAR2(240);
9735:
9736: --
9737: -- Upgrade strategy
9812: p_source_39 IS NOT NULL
9813: THEN
9814:
9815: --
9816: XLA_AE_LINES_PKG.SetNewLine;
9817:
9818: p_balance_type_code := l_balance_type_code;
9819: -- set the flag so later we will know whether the gain loss line needs to be created
9820:
9824:
9825: --
9826: -- bulk performance
9827: --
9828: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9829: p_header_num => 0); -- 4262811
9830: --
9831: -- set accounting line options
9832: --
9829: p_header_num => 0); -- 4262811
9830: --
9831: -- set accounting line options
9832: --
9833: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9834: p_natural_side_code => 'C'
9835: , p_gain_or_loss_flag => 'N'
9836: , p_gl_transfer_mode_code => 'S'
9837: , p_acct_entry_type_code => 'A'
9843: --
9844: --
9845: -- set accounting line type info
9846: --
9847: xla_ae_lines_pkg.SetAcctLineType
9848: (p_component_type => l_component_type
9849: ,p_event_type_code => l_event_type_code
9850: ,p_line_definition_owner_code => l_line_definition_owner_code
9851: ,p_line_definition_code => l_line_definition_code
9857: ,p_event_class_code => l_event_class_code);
9858: --
9859: -- set accounting class
9860: --
9861: xla_ae_lines_pkg.SetAcctClass(
9862: p_accounting_class_code => 'PURCHASE_ORDER'
9863: , p_ae_header_id => l_ae_header_id
9864: );
9865:
9865:
9866: --
9867: -- set rounding class
9868: --
9869: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9870: 'PURCHASE_ORDER';
9871:
9872: --
9873: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9869: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9870: 'PURCHASE_ORDER';
9871:
9872: --
9873: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9874: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9875: --
9876: -- bulk performance
9877: --
9870: 'PURCHASE_ORDER';
9871:
9872: --
9873: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9874: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9875: --
9876: -- bulk performance
9877: --
9878: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9874: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9875: --
9876: -- bulk performance
9877: --
9878: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9879:
9880: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9881: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9882:
9876: -- bulk performance
9877: --
9878: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9879:
9880: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9881: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9882:
9883: -- 4955764
9884: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9880: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9881: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9882:
9883: -- 4955764
9884: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9885: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9886:
9887: -- 4458381 Public Sector Enh
9888:
9970: l_rec_acct_attrs.array_num_value(33) := p_source_32;
9971: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
9972: l_rec_acct_attrs.array_num_value(34) := p_source_32;
9973:
9974: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9975: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9976:
9977: ---------------------------------------------------------------------------------------------------------------
9978: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9971: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
9972: l_rec_acct_attrs.array_num_value(34) := p_source_32;
9973:
9974: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9975: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9976:
9977: ---------------------------------------------------------------------------------------------------------------
9978: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9979: ---------------------------------------------------------------------------------------------------------------
9974: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9975: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9976:
9977: ---------------------------------------------------------------------------------------------------------------
9978: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9979: ---------------------------------------------------------------------------------------------------------------
9980: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9981:
9982: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9976:
9977: ---------------------------------------------------------------------------------------------------------------
9978: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9979: ---------------------------------------------------------------------------------------------------------------
9980: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9981:
9982: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9983: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9984:
9978: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9979: ---------------------------------------------------------------------------------------------------------------
9980: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9981:
9982: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9983: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9984:
9985: IF xla_accounting_cache_pkg.GetValueChar
9986: (p_source_code => 'LEDGER_CATEGORY_CODE'
9979: ---------------------------------------------------------------------------------------------------------------
9980: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9981:
9982: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9983: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9984:
9985: IF xla_accounting_cache_pkg.GetValueChar
9986: (p_source_code => 'LEDGER_CATEGORY_CODE'
9987: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9990: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9991: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9992: )
9993: THEN
9994: xla_ae_lines_pkg.BflowUpgEntry
9995: (p_business_method_code => l_bflow_method_code
9996: ,p_business_class_code => l_bflow_class_code
9997: ,p_balance_type => l_balance_type_code);
9998: ELSE
10007: --
10008: -- call description
10009: --
10010:
10011: xla_ae_lines_pkg.SetLineDescription(
10012: p_ae_header_id => l_ae_header_id
10013: ,p_description => Description_2 (
10014: p_application_id => p_application_id
10015: , p_ae_header_id => l_ae_header_id
10040: , x_value_type_code => l_adr_value_type_code
10041: , p_side => 'NA'
10042: );
10043:
10044: xla_ae_lines_pkg.set_ccid(
10045: p_code_combination_id => l_ccid
10046: , p_value_type_code => l_adr_value_type_code
10047: , p_transaction_coa_id => l_adr_transaction_coa_id
10048: , p_accounting_coa_id => l_adr_accounting_coa_id
10072: );
10073:
10074: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10075:
10076: xla_ae_lines_pkg.set_segment(
10077: p_to_segment_code => 'GL_ACCOUNT'
10078: , p_segment_value => l_segment
10079: , p_from_segment_code => l_adr_value_segment_code
10080: , p_from_combination_id => l_adr_value_combination_id
10116: xla_accounting_err_pkg.build_message
10117: (p_appli_s_name => 'XLA'
10118: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10119: ,p_token_1 => 'LINE_NUMBER'
10120: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10121: ,p_token_2 => 'LINE_TYPE_NAME'
10122: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10123: l_component_type
10124: ,l_component_code
10152: --
10153: --
10154: ------------------------------------------------------------------------------------------------
10155: -- 4219869 Business Flow
10156: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10157: -- Prior Entry. Currently, the following code is always generated.
10158: ------------------------------------------------------------------------------------------------
10159: XLA_AE_LINES_PKG.ValidateCurrentLine;
10160:
10155: -- 4219869 Business Flow
10156: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10157: -- Prior Entry. Currently, the following code is always generated.
10158: ------------------------------------------------------------------------------------------------
10159: XLA_AE_LINES_PKG.ValidateCurrentLine;
10160:
10161: ------------------------------------------------------------------------------------
10162: -- 4219869 Business Flow
10163: -- Populated credit and debit amounts -- Need to generate this within IF
10161: ------------------------------------------------------------------------------------
10162: -- 4219869 Business Flow
10163: -- Populated credit and debit amounts -- Need to generate this within IF
10164: ------------------------------------------------------------------------------------
10165: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10166:
10167: ----------------------------------------------------------------------------------
10168: -- 4219869 Business Flow
10169: -- Update journal entry status -- Need to generate this within IF
10193: -- To allow MPA report to determine if it should generate report process
10194: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10195: ------------------------------------------------------------------------------------------
10196:
10197: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10198: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10199:
10200: --
10201: -- Update the line information that should be overwritten
10194: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10195: ------------------------------------------------------------------------------------------
10196:
10197: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10198: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10199:
10200: --
10201: -- Update the line information that should be overwritten
10202: --
10199:
10200: --
10201: -- Update the line information that should be overwritten
10202: --
10203: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10204: p_header_num => 1);
10205: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10206:
10207: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10201: -- Update the line information that should be overwritten
10202: --
10203: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10204: p_header_num => 1);
10205: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10206:
10207: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10208:
10209: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10203: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10204: p_header_num => 1);
10205: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10206:
10207: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10208:
10209: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10210: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10211: END IF;
10206:
10207: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10208:
10209: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10210: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10211: END IF;
10212:
10213: --
10214: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10213: --
10214: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10215: --
10216: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10217: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10218: ELSE
10219: ---------------------------------------------------------------------------------------------------
10220: -- 4262811a Switch Sign
10221: ---------------------------------------------------------------------------------------------------
10218: ELSE
10219: ---------------------------------------------------------------------------------------------------
10220: -- 4262811a Switch Sign
10221: ---------------------------------------------------------------------------------------------------
10222: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10219: ---------------------------------------------------------------------------------------------------
10220: -- 4262811a Switch Sign
10221: ---------------------------------------------------------------------------------------------------
10222: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10220: -- 4262811a Switch Sign
10221: ---------------------------------------------------------------------------------------------------
10222: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10221: ---------------------------------------------------------------------------------------------------
10222: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10229: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10222: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10229: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10230:
10224: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10229: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10230:
10231: END IF;
10232:
10225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10226: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10227: -- 5132302
10228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10229: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10230:
10231: END IF;
10232:
10233: -- 4955764
10230:
10231: END IF;
10232:
10233: -- 4955764
10234: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10235: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10236:
10237:
10238: XLA_AE_LINES_PKG.ValidateCurrentLine;
10234: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10235: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10236:
10237:
10238: XLA_AE_LINES_PKG.ValidateCurrentLine;
10239: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10240:
10241: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10242: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10235: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10236:
10237:
10238: XLA_AE_LINES_PKG.ValidateCurrentLine;
10239: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10240:
10241: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10242: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10243: ,p_balance_type_code => l_balance_type_code);
10400: --
10401: -- bulk performance
10402: --
10403: l_balance_type_code VARCHAR2(1);
10404: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10405: l_log_module VARCHAR2(240);
10406:
10407: --
10408: -- Upgrade strategy
10483: p_source_30 IS NOT NULL
10484: THEN
10485:
10486: --
10487: XLA_AE_LINES_PKG.SetNewLine;
10488:
10489: p_balance_type_code := l_balance_type_code;
10490: -- set the flag so later we will know whether the gain loss line needs to be created
10491:
10495:
10496: --
10497: -- bulk performance
10498: --
10499: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10500: p_header_num => 0); -- 4262811
10501: --
10502: -- set accounting line options
10503: --
10500: p_header_num => 0); -- 4262811
10501: --
10502: -- set accounting line options
10503: --
10504: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10505: p_natural_side_code => 'C'
10506: , p_gain_or_loss_flag => 'N'
10507: , p_gl_transfer_mode_code => 'S'
10508: , p_acct_entry_type_code => 'A'
10514: --
10515: --
10516: -- set accounting line type info
10517: --
10518: xla_ae_lines_pkg.SetAcctLineType
10519: (p_component_type => l_component_type
10520: ,p_event_type_code => l_event_type_code
10521: ,p_line_definition_owner_code => l_line_definition_owner_code
10522: ,p_line_definition_code => l_line_definition_code
10528: ,p_event_class_code => l_event_class_code);
10529: --
10530: -- set accounting class
10531: --
10532: xla_ae_lines_pkg.SetAcctClass(
10533: p_accounting_class_code => 'PURCHASE_ORDER'
10534: , p_ae_header_id => l_ae_header_id
10535: );
10536:
10536:
10537: --
10538: -- set rounding class
10539: --
10540: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10541: 'PURCHASE_ORDER';
10542:
10543: --
10544: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10540: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10541: 'PURCHASE_ORDER';
10542:
10543: --
10544: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10545: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10546: --
10547: -- bulk performance
10548: --
10541: 'PURCHASE_ORDER';
10542:
10543: --
10544: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10545: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10546: --
10547: -- bulk performance
10548: --
10549: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10545: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10546: --
10547: -- bulk performance
10548: --
10549: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10550:
10551: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10552: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10553:
10547: -- bulk performance
10548: --
10549: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10550:
10551: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10552: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10553:
10554: -- 4955764
10555: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10551: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10552: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10553:
10554: -- 4955764
10555: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10556: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10557:
10558: -- 4458381 Public Sector Enh
10559:
10641: l_rec_acct_attrs.array_num_value(33) := p_source_32;
10642: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
10643: l_rec_acct_attrs.array_num_value(34) := p_source_32;
10644:
10645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10647:
10648: ---------------------------------------------------------------------------------------------------------------
10649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10642: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
10643: l_rec_acct_attrs.array_num_value(34) := p_source_32;
10644:
10645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10647:
10648: ---------------------------------------------------------------------------------------------------------------
10649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10650: ---------------------------------------------------------------------------------------------------------------
10645: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10646: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10647:
10648: ---------------------------------------------------------------------------------------------------------------
10649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10650: ---------------------------------------------------------------------------------------------------------------
10651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10652:
10653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10647:
10648: ---------------------------------------------------------------------------------------------------------------
10649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10650: ---------------------------------------------------------------------------------------------------------------
10651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10652:
10653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10655:
10649: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10650: ---------------------------------------------------------------------------------------------------------------
10651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10652:
10653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10655:
10656: IF xla_accounting_cache_pkg.GetValueChar
10657: (p_source_code => 'LEDGER_CATEGORY_CODE'
10650: ---------------------------------------------------------------------------------------------------------------
10651: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10652:
10653: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10654: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10655:
10656: IF xla_accounting_cache_pkg.GetValueChar
10657: (p_source_code => 'LEDGER_CATEGORY_CODE'
10658: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10661: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10662: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10663: )
10664: THEN
10665: xla_ae_lines_pkg.BflowUpgEntry
10666: (p_business_method_code => l_bflow_method_code
10667: ,p_business_class_code => l_bflow_class_code
10668: ,p_balance_type => l_balance_type_code);
10669: ELSE
10678: --
10679: -- call description
10680: --
10681:
10682: xla_ae_lines_pkg.SetLineDescription(
10683: p_ae_header_id => l_ae_header_id
10684: ,p_description => Description_2 (
10685: p_application_id => p_application_id
10686: , p_ae_header_id => l_ae_header_id
10711: , x_value_type_code => l_adr_value_type_code
10712: , p_side => 'NA'
10713: );
10714:
10715: xla_ae_lines_pkg.set_ccid(
10716: p_code_combination_id => l_ccid
10717: , p_value_type_code => l_adr_value_type_code
10718: , p_transaction_coa_id => l_adr_transaction_coa_id
10719: , p_accounting_coa_id => l_adr_accounting_coa_id
10744: );
10745:
10746: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10747:
10748: xla_ae_lines_pkg.set_segment(
10749: p_to_segment_code => 'GL_ACCOUNT'
10750: , p_segment_value => l_segment
10751: , p_from_segment_code => l_adr_value_segment_code
10752: , p_from_combination_id => l_adr_value_combination_id
10788: xla_accounting_err_pkg.build_message
10789: (p_appli_s_name => 'XLA'
10790: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10791: ,p_token_1 => 'LINE_NUMBER'
10792: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10793: ,p_token_2 => 'LINE_TYPE_NAME'
10794: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10795: l_component_type
10796: ,l_component_code
10824: --
10825: --
10826: ------------------------------------------------------------------------------------------------
10827: -- 4219869 Business Flow
10828: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10829: -- Prior Entry. Currently, the following code is always generated.
10830: ------------------------------------------------------------------------------------------------
10831: XLA_AE_LINES_PKG.ValidateCurrentLine;
10832:
10827: -- 4219869 Business Flow
10828: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10829: -- Prior Entry. Currently, the following code is always generated.
10830: ------------------------------------------------------------------------------------------------
10831: XLA_AE_LINES_PKG.ValidateCurrentLine;
10832:
10833: ------------------------------------------------------------------------------------
10834: -- 4219869 Business Flow
10835: -- Populated credit and debit amounts -- Need to generate this within IF
10833: ------------------------------------------------------------------------------------
10834: -- 4219869 Business Flow
10835: -- Populated credit and debit amounts -- Need to generate this within IF
10836: ------------------------------------------------------------------------------------
10837: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10838:
10839: ----------------------------------------------------------------------------------
10840: -- 4219869 Business Flow
10841: -- Update journal entry status -- Need to generate this within IF
10865: -- To allow MPA report to determine if it should generate report process
10866: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10867: ------------------------------------------------------------------------------------------
10868:
10869: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10870: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10871:
10872: --
10873: -- Update the line information that should be overwritten
10866: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10867: ------------------------------------------------------------------------------------------
10868:
10869: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10870: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10871:
10872: --
10873: -- Update the line information that should be overwritten
10874: --
10871:
10872: --
10873: -- Update the line information that should be overwritten
10874: --
10875: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10876: p_header_num => 1);
10877: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10878:
10879: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10873: -- Update the line information that should be overwritten
10874: --
10875: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10876: p_header_num => 1);
10877: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10878:
10879: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10880:
10881: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10875: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10876: p_header_num => 1);
10877: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10878:
10879: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10880:
10881: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10882: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10883: END IF;
10878:
10879: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10880:
10881: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10882: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10883: END IF;
10884:
10885: --
10886: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10885: --
10886: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10887: --
10888: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10889: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10890: ELSE
10891: ---------------------------------------------------------------------------------------------------
10892: -- 4262811a Switch Sign
10893: ---------------------------------------------------------------------------------------------------
10890: ELSE
10891: ---------------------------------------------------------------------------------------------------
10892: -- 4262811a Switch Sign
10893: ---------------------------------------------------------------------------------------------------
10894: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10895: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10891: ---------------------------------------------------------------------------------------------------
10892: -- 4262811a Switch Sign
10893: ---------------------------------------------------------------------------------------------------
10894: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10895: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10892: -- 4262811a Switch Sign
10893: ---------------------------------------------------------------------------------------------------
10894: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10895: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10900: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10893: ---------------------------------------------------------------------------------------------------
10894: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10895: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10900: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10901: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10894: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10895: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10900: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10901: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10902:
10896: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10900: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10901: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10902:
10903: END IF;
10904:
10897: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10898: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10899: -- 5132302
10900: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10901: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10902:
10903: END IF;
10904:
10905: -- 4955764
10902:
10903: END IF;
10904:
10905: -- 4955764
10906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10908:
10909:
10910: XLA_AE_LINES_PKG.ValidateCurrentLine;
10906: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10908:
10909:
10910: XLA_AE_LINES_PKG.ValidateCurrentLine;
10911: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10912:
10913: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10914: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10907: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10908:
10909:
10910: XLA_AE_LINES_PKG.ValidateCurrentLine;
10911: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10912:
10913: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10914: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10915: ,p_balance_type_code => l_balance_type_code);
11068: --
11069: -- bulk performance
11070: --
11071: l_balance_type_code VARCHAR2(1);
11072: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11073: l_log_module VARCHAR2(240);
11074:
11075: --
11076: -- Upgrade strategy
11148: ') = 'Y'
11149: THEN
11150:
11151: --
11152: XLA_AE_LINES_PKG.SetNewLine;
11153:
11154: p_balance_type_code := l_balance_type_code;
11155: -- set the flag so later we will know whether the gain loss line needs to be created
11156:
11160:
11161: --
11162: -- bulk performance
11163: --
11164: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11165: p_header_num => 0); -- 4262811
11166: --
11167: -- set accounting line options
11168: --
11165: p_header_num => 0); -- 4262811
11166: --
11167: -- set accounting line options
11168: --
11169: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11170: p_natural_side_code => 'C'
11171: , p_gain_or_loss_flag => 'N'
11172: , p_gl_transfer_mode_code => 'S'
11173: , p_acct_entry_type_code => 'A'
11179: --
11180: --
11181: -- set accounting line type info
11182: --
11183: xla_ae_lines_pkg.SetAcctLineType
11184: (p_component_type => l_component_type
11185: ,p_event_type_code => l_event_type_code
11186: ,p_line_definition_owner_code => l_line_definition_owner_code
11187: ,p_line_definition_code => l_line_definition_code
11193: ,p_event_class_code => l_event_class_code);
11194: --
11195: -- set accounting class
11196: --
11197: xla_ae_lines_pkg.SetAcctClass(
11198: p_accounting_class_code => 'PURCHASE_ORDER'
11199: , p_ae_header_id => l_ae_header_id
11200: );
11201:
11201:
11202: --
11203: -- set rounding class
11204: --
11205: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11206: 'PURCHASE_ORDER';
11207:
11208: --
11209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11205: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11206: 'PURCHASE_ORDER';
11207:
11208: --
11209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11211: --
11212: -- bulk performance
11213: --
11206: 'PURCHASE_ORDER';
11207:
11208: --
11209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11211: --
11212: -- bulk performance
11213: --
11214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11211: --
11212: -- bulk performance
11213: --
11214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11215:
11216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11218:
11212: -- bulk performance
11213: --
11214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11215:
11216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11218:
11219: -- 4955764
11220: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11218:
11219: -- 4955764
11220: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11221: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11222:
11223: -- 4458381 Public Sector Enh
11224:
11306: l_rec_acct_attrs.array_num_value(33) := p_source_32;
11307: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
11308: l_rec_acct_attrs.array_num_value(34) := p_source_32;
11309:
11310: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11311: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11312:
11313: ---------------------------------------------------------------------------------------------------------------
11314: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11307: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
11308: l_rec_acct_attrs.array_num_value(34) := p_source_32;
11309:
11310: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11311: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11312:
11313: ---------------------------------------------------------------------------------------------------------------
11314: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11315: ---------------------------------------------------------------------------------------------------------------
11310: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11311: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11312:
11313: ---------------------------------------------------------------------------------------------------------------
11314: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11315: ---------------------------------------------------------------------------------------------------------------
11316: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11317:
11318: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11312:
11313: ---------------------------------------------------------------------------------------------------------------
11314: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11315: ---------------------------------------------------------------------------------------------------------------
11316: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11317:
11318: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11319: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11320:
11314: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11315: ---------------------------------------------------------------------------------------------------------------
11316: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11317:
11318: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11319: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11320:
11321: IF xla_accounting_cache_pkg.GetValueChar
11322: (p_source_code => 'LEDGER_CATEGORY_CODE'
11315: ---------------------------------------------------------------------------------------------------------------
11316: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11317:
11318: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11319: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11320:
11321: IF xla_accounting_cache_pkg.GetValueChar
11322: (p_source_code => 'LEDGER_CATEGORY_CODE'
11323: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11326: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11327: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11328: )
11329: THEN
11330: xla_ae_lines_pkg.BflowUpgEntry
11331: (p_business_method_code => l_bflow_method_code
11332: ,p_business_class_code => l_bflow_class_code
11333: ,p_balance_type => l_balance_type_code);
11334: ELSE
11343: --
11344: -- call description
11345: --
11346:
11347: xla_ae_lines_pkg.SetLineDescription(
11348: p_ae_header_id => l_ae_header_id
11349: ,p_description => Description_2 (
11350: p_application_id => p_application_id
11351: , p_ae_header_id => l_ae_header_id
11376: , x_value_type_code => l_adr_value_type_code
11377: , p_side => 'NA'
11378: );
11379:
11380: xla_ae_lines_pkg.set_ccid(
11381: p_code_combination_id => l_ccid
11382: , p_value_type_code => l_adr_value_type_code
11383: , p_transaction_coa_id => l_adr_transaction_coa_id
11384: , p_accounting_coa_id => l_adr_accounting_coa_id
11409: );
11410:
11411: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11412:
11413: xla_ae_lines_pkg.set_segment(
11414: p_to_segment_code => 'GL_ACCOUNT'
11415: , p_segment_value => l_segment
11416: , p_from_segment_code => l_adr_value_segment_code
11417: , p_from_combination_id => l_adr_value_combination_id
11453: xla_accounting_err_pkg.build_message
11454: (p_appli_s_name => 'XLA'
11455: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11456: ,p_token_1 => 'LINE_NUMBER'
11457: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11458: ,p_token_2 => 'LINE_TYPE_NAME'
11459: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11460: l_component_type
11461: ,l_component_code
11489: --
11490: --
11491: ------------------------------------------------------------------------------------------------
11492: -- 4219869 Business Flow
11493: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11494: -- Prior Entry. Currently, the following code is always generated.
11495: ------------------------------------------------------------------------------------------------
11496: XLA_AE_LINES_PKG.ValidateCurrentLine;
11497:
11492: -- 4219869 Business Flow
11493: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11494: -- Prior Entry. Currently, the following code is always generated.
11495: ------------------------------------------------------------------------------------------------
11496: XLA_AE_LINES_PKG.ValidateCurrentLine;
11497:
11498: ------------------------------------------------------------------------------------
11499: -- 4219869 Business Flow
11500: -- Populated credit and debit amounts -- Need to generate this within IF
11498: ------------------------------------------------------------------------------------
11499: -- 4219869 Business Flow
11500: -- Populated credit and debit amounts -- Need to generate this within IF
11501: ------------------------------------------------------------------------------------
11502: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11503:
11504: ----------------------------------------------------------------------------------
11505: -- 4219869 Business Flow
11506: -- Update journal entry status -- Need to generate this within IF
11530: -- To allow MPA report to determine if it should generate report process
11531: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11532: ------------------------------------------------------------------------------------------
11533:
11534: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11535: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11536:
11537: --
11538: -- Update the line information that should be overwritten
11531: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11532: ------------------------------------------------------------------------------------------
11533:
11534: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11535: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11536:
11537: --
11538: -- Update the line information that should be overwritten
11539: --
11536:
11537: --
11538: -- Update the line information that should be overwritten
11539: --
11540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11541: p_header_num => 1);
11542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11543:
11544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11538: -- Update the line information that should be overwritten
11539: --
11540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11541: p_header_num => 1);
11542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11543:
11544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11545:
11546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11541: p_header_num => 1);
11542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11543:
11544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11545:
11546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11547: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11548: END IF;
11543:
11544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11545:
11546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11547: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11548: END IF;
11549:
11550: --
11551: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11550: --
11551: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11552: --
11553: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11554: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11555: ELSE
11556: ---------------------------------------------------------------------------------------------------
11557: -- 4262811a Switch Sign
11558: ---------------------------------------------------------------------------------------------------
11555: ELSE
11556: ---------------------------------------------------------------------------------------------------
11557: -- 4262811a Switch Sign
11558: ---------------------------------------------------------------------------------------------------
11559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11556: ---------------------------------------------------------------------------------------------------
11557: -- 4262811a Switch Sign
11558: ---------------------------------------------------------------------------------------------------
11559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11557: -- 4262811a Switch Sign
11558: ---------------------------------------------------------------------------------------------------
11559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11558: ---------------------------------------------------------------------------------------------------
11559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11567:
11561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11567:
11568: END IF;
11569:
11562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11564: -- 5132302
11565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11567:
11568: END IF;
11569:
11570: -- 4955764
11567:
11568: END IF;
11569:
11570: -- 4955764
11571: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11573:
11574:
11575: XLA_AE_LINES_PKG.ValidateCurrentLine;
11571: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11573:
11574:
11575: XLA_AE_LINES_PKG.ValidateCurrentLine;
11576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11577:
11578: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11579: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11573:
11574:
11575: XLA_AE_LINES_PKG.ValidateCurrentLine;
11576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11577:
11578: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11579: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11580: ,p_balance_type_code => l_balance_type_code);
11731: --
11732: -- bulk performance
11733: --
11734: l_balance_type_code VARCHAR2(1);
11735: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11736: l_log_module VARCHAR2(240);
11737:
11738: --
11739: -- Upgrade strategy
11811: ') = 'Y'
11812: THEN
11813:
11814: --
11815: XLA_AE_LINES_PKG.SetNewLine;
11816:
11817: p_balance_type_code := l_balance_type_code;
11818: -- set the flag so later we will know whether the gain loss line needs to be created
11819:
11823:
11824: --
11825: -- bulk performance
11826: --
11827: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11828: p_header_num => 0); -- 4262811
11829: --
11830: -- set accounting line options
11831: --
11828: p_header_num => 0); -- 4262811
11829: --
11830: -- set accounting line options
11831: --
11832: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11833: p_natural_side_code => 'D'
11834: , p_gain_or_loss_flag => 'N'
11835: , p_gl_transfer_mode_code => 'S'
11836: , p_acct_entry_type_code => 'A'
11842: --
11843: --
11844: -- set accounting line type info
11845: --
11846: xla_ae_lines_pkg.SetAcctLineType
11847: (p_component_type => l_component_type
11848: ,p_event_type_code => l_event_type_code
11849: ,p_line_definition_owner_code => l_line_definition_owner_code
11850: ,p_line_definition_code => l_line_definition_code
11856: ,p_event_class_code => l_event_class_code);
11857: --
11858: -- set accounting class
11859: --
11860: xla_ae_lines_pkg.SetAcctClass(
11861: p_accounting_class_code => 'PURCHASE_ORDER'
11862: , p_ae_header_id => l_ae_header_id
11863: );
11864:
11864:
11865: --
11866: -- set rounding class
11867: --
11868: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11869: 'PURCHASE_ORDER';
11870:
11871: --
11872: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11868: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11869: 'PURCHASE_ORDER';
11870:
11871: --
11872: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11873: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11874: --
11875: -- bulk performance
11876: --
11869: 'PURCHASE_ORDER';
11870:
11871: --
11872: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11873: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11874: --
11875: -- bulk performance
11876: --
11877: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11873: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11874: --
11875: -- bulk performance
11876: --
11877: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11878:
11879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11880: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11881:
11875: -- bulk performance
11876: --
11877: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11878:
11879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11880: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11881:
11882: -- 4955764
11883: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11879: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11880: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11881:
11882: -- 4955764
11883: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11884: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11885:
11886: -- 4458381 Public Sector Enh
11887:
11969: l_rec_acct_attrs.array_num_value(33) := p_source_32;
11970: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
11971: l_rec_acct_attrs.array_num_value(34) := p_source_32;
11972:
11973: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11974: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11975:
11976: ---------------------------------------------------------------------------------------------------------------
11977: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11970: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
11971: l_rec_acct_attrs.array_num_value(34) := p_source_32;
11972:
11973: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11974: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11975:
11976: ---------------------------------------------------------------------------------------------------------------
11977: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11978: ---------------------------------------------------------------------------------------------------------------
11973: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11974: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11975:
11976: ---------------------------------------------------------------------------------------------------------------
11977: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11978: ---------------------------------------------------------------------------------------------------------------
11979: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11980:
11981: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11975:
11976: ---------------------------------------------------------------------------------------------------------------
11977: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11978: ---------------------------------------------------------------------------------------------------------------
11979: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11980:
11981: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11982: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11983:
11977: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11978: ---------------------------------------------------------------------------------------------------------------
11979: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11980:
11981: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11982: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11983:
11984: IF xla_accounting_cache_pkg.GetValueChar
11985: (p_source_code => 'LEDGER_CATEGORY_CODE'
11978: ---------------------------------------------------------------------------------------------------------------
11979: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11980:
11981: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11982: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11983:
11984: IF xla_accounting_cache_pkg.GetValueChar
11985: (p_source_code => 'LEDGER_CATEGORY_CODE'
11986: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11989: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11990: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11991: )
11992: THEN
11993: xla_ae_lines_pkg.BflowUpgEntry
11994: (p_business_method_code => l_bflow_method_code
11995: ,p_business_class_code => l_bflow_class_code
11996: ,p_balance_type => l_balance_type_code);
11997: ELSE
12006: --
12007: -- call description
12008: --
12009:
12010: xla_ae_lines_pkg.SetLineDescription(
12011: p_ae_header_id => l_ae_header_id
12012: ,p_description => Description_2 (
12013: p_application_id => p_application_id
12014: , p_ae_header_id => l_ae_header_id
12039: , x_value_type_code => l_adr_value_type_code
12040: , p_side => 'NA'
12041: );
12042:
12043: xla_ae_lines_pkg.set_ccid(
12044: p_code_combination_id => l_ccid
12045: , p_value_type_code => l_adr_value_type_code
12046: , p_transaction_coa_id => l_adr_transaction_coa_id
12047: , p_accounting_coa_id => l_adr_accounting_coa_id
12071: );
12072:
12073: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12074:
12075: xla_ae_lines_pkg.set_segment(
12076: p_to_segment_code => 'GL_ACCOUNT'
12077: , p_segment_value => l_segment
12078: , p_from_segment_code => l_adr_value_segment_code
12079: , p_from_combination_id => l_adr_value_combination_id
12115: xla_accounting_err_pkg.build_message
12116: (p_appli_s_name => 'XLA'
12117: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12118: ,p_token_1 => 'LINE_NUMBER'
12119: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12120: ,p_token_2 => 'LINE_TYPE_NAME'
12121: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12122: l_component_type
12123: ,l_component_code
12151: --
12152: --
12153: ------------------------------------------------------------------------------------------------
12154: -- 4219869 Business Flow
12155: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12156: -- Prior Entry. Currently, the following code is always generated.
12157: ------------------------------------------------------------------------------------------------
12158: XLA_AE_LINES_PKG.ValidateCurrentLine;
12159:
12154: -- 4219869 Business Flow
12155: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12156: -- Prior Entry. Currently, the following code is always generated.
12157: ------------------------------------------------------------------------------------------------
12158: XLA_AE_LINES_PKG.ValidateCurrentLine;
12159:
12160: ------------------------------------------------------------------------------------
12161: -- 4219869 Business Flow
12162: -- Populated credit and debit amounts -- Need to generate this within IF
12160: ------------------------------------------------------------------------------------
12161: -- 4219869 Business Flow
12162: -- Populated credit and debit amounts -- Need to generate this within IF
12163: ------------------------------------------------------------------------------------
12164: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12165:
12166: ----------------------------------------------------------------------------------
12167: -- 4219869 Business Flow
12168: -- Update journal entry status -- Need to generate this within IF
12192: -- To allow MPA report to determine if it should generate report process
12193: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12194: ------------------------------------------------------------------------------------------
12195:
12196: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12197: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12198:
12199: --
12200: -- Update the line information that should be overwritten
12193: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12194: ------------------------------------------------------------------------------------------
12195:
12196: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12197: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12198:
12199: --
12200: -- Update the line information that should be overwritten
12201: --
12198:
12199: --
12200: -- Update the line information that should be overwritten
12201: --
12202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12203: p_header_num => 1);
12204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12205:
12206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12200: -- Update the line information that should be overwritten
12201: --
12202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12203: p_header_num => 1);
12204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12205:
12206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12207:
12208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12202: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12203: p_header_num => 1);
12204: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12205:
12206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12207:
12208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12209: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12210: END IF;
12205:
12206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12207:
12208: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12209: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12210: END IF;
12211:
12212: --
12213: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12212: --
12213: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12214: --
12215: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12216: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12217: ELSE
12218: ---------------------------------------------------------------------------------------------------
12219: -- 4262811a Switch Sign
12220: ---------------------------------------------------------------------------------------------------
12217: ELSE
12218: ---------------------------------------------------------------------------------------------------
12219: -- 4262811a Switch Sign
12220: ---------------------------------------------------------------------------------------------------
12221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12218: ---------------------------------------------------------------------------------------------------
12219: -- 4262811a Switch Sign
12220: ---------------------------------------------------------------------------------------------------
12221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12219: -- 4262811a Switch Sign
12220: ---------------------------------------------------------------------------------------------------
12221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12220: ---------------------------------------------------------------------------------------------------
12221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12221: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12222: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12229:
12223: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12229:
12230: END IF;
12231:
12224: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12225: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12226: -- 5132302
12227: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12228: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12229:
12230: END IF;
12231:
12232: -- 4955764
12229:
12230: END IF;
12231:
12232: -- 4955764
12233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12235:
12236:
12237: XLA_AE_LINES_PKG.ValidateCurrentLine;
12233: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12235:
12236:
12237: XLA_AE_LINES_PKG.ValidateCurrentLine;
12238: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12239:
12240: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12241: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12234: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12235:
12236:
12237: XLA_AE_LINES_PKG.ValidateCurrentLine;
12238: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12239:
12240: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12241: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12242: ,p_balance_type_code => l_balance_type_code);
12395: --
12396: -- bulk performance
12397: --
12398: l_balance_type_code VARCHAR2(1);
12399: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12400: l_log_module VARCHAR2(240);
12401:
12402: --
12403: -- Upgrade strategy
12477: p_source_40 IS NOT NULL
12478: THEN
12479:
12480: --
12481: XLA_AE_LINES_PKG.SetNewLine;
12482:
12483: p_balance_type_code := l_balance_type_code;
12484: -- set the flag so later we will know whether the gain loss line needs to be created
12485:
12489:
12490: --
12491: -- bulk performance
12492: --
12493: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12494: p_header_num => 0); -- 4262811
12495: --
12496: -- set accounting line options
12497: --
12494: p_header_num => 0); -- 4262811
12495: --
12496: -- set accounting line options
12497: --
12498: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12499: p_natural_side_code => 'C'
12500: , p_gain_or_loss_flag => 'N'
12501: , p_gl_transfer_mode_code => 'S'
12502: , p_acct_entry_type_code => 'A'
12508: --
12509: --
12510: -- set accounting line type info
12511: --
12512: xla_ae_lines_pkg.SetAcctLineType
12513: (p_component_type => l_component_type
12514: ,p_event_type_code => l_event_type_code
12515: ,p_line_definition_owner_code => l_line_definition_owner_code
12516: ,p_line_definition_code => l_line_definition_code
12522: ,p_event_class_code => l_event_class_code);
12523: --
12524: -- set accounting class
12525: --
12526: xla_ae_lines_pkg.SetAcctClass(
12527: p_accounting_class_code => 'PURCHASE_ORDER'
12528: , p_ae_header_id => l_ae_header_id
12529: );
12530:
12530:
12531: --
12532: -- set rounding class
12533: --
12534: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12535: 'PURCHASE_ORDER';
12536:
12537: --
12538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12534: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12535: 'PURCHASE_ORDER';
12536:
12537: --
12538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12540: --
12541: -- bulk performance
12542: --
12535: 'PURCHASE_ORDER';
12536:
12537: --
12538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12540: --
12541: -- bulk performance
12542: --
12543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12540: --
12541: -- bulk performance
12542: --
12543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12544:
12545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12547:
12541: -- bulk performance
12542: --
12543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12544:
12545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12547:
12548: -- 4955764
12549: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12547:
12548: -- 4955764
12549: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12550: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12551:
12552: -- 4458381 Public Sector Enh
12553:
12635: l_rec_acct_attrs.array_num_value(33) := p_source_32;
12636: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
12637: l_rec_acct_attrs.array_num_value(34) := p_source_32;
12638:
12639: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12640: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12641:
12642: ---------------------------------------------------------------------------------------------------------------
12643: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12636: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
12637: l_rec_acct_attrs.array_num_value(34) := p_source_32;
12638:
12639: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12640: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12641:
12642: ---------------------------------------------------------------------------------------------------------------
12643: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12644: ---------------------------------------------------------------------------------------------------------------
12639: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12640: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12641:
12642: ---------------------------------------------------------------------------------------------------------------
12643: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12644: ---------------------------------------------------------------------------------------------------------------
12645: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12646:
12647: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12641:
12642: ---------------------------------------------------------------------------------------------------------------
12643: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12644: ---------------------------------------------------------------------------------------------------------------
12645: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12646:
12647: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12648: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12649:
12643: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12644: ---------------------------------------------------------------------------------------------------------------
12645: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12646:
12647: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12648: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12649:
12650: IF xla_accounting_cache_pkg.GetValueChar
12651: (p_source_code => 'LEDGER_CATEGORY_CODE'
12644: ---------------------------------------------------------------------------------------------------------------
12645: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12646:
12647: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12648: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12649:
12650: IF xla_accounting_cache_pkg.GetValueChar
12651: (p_source_code => 'LEDGER_CATEGORY_CODE'
12652: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12655: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12656: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12657: )
12658: THEN
12659: xla_ae_lines_pkg.BflowUpgEntry
12660: (p_business_method_code => l_bflow_method_code
12661: ,p_business_class_code => l_bflow_class_code
12662: ,p_balance_type => l_balance_type_code);
12663: ELSE
12672: --
12673: -- call description
12674: --
12675:
12676: xla_ae_lines_pkg.SetLineDescription(
12677: p_ae_header_id => l_ae_header_id
12678: ,p_description => Description_2 (
12679: p_application_id => p_application_id
12680: , p_ae_header_id => l_ae_header_id
12705: , x_value_type_code => l_adr_value_type_code
12706: , p_side => 'NA'
12707: );
12708:
12709: xla_ae_lines_pkg.set_ccid(
12710: p_code_combination_id => l_ccid
12711: , p_value_type_code => l_adr_value_type_code
12712: , p_transaction_coa_id => l_adr_transaction_coa_id
12713: , p_accounting_coa_id => l_adr_accounting_coa_id
12737: );
12738:
12739: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12740:
12741: xla_ae_lines_pkg.set_segment(
12742: p_to_segment_code => 'GL_ACCOUNT'
12743: , p_segment_value => l_segment
12744: , p_from_segment_code => l_adr_value_segment_code
12745: , p_from_combination_id => l_adr_value_combination_id
12781: xla_accounting_err_pkg.build_message
12782: (p_appli_s_name => 'XLA'
12783: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12784: ,p_token_1 => 'LINE_NUMBER'
12785: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12786: ,p_token_2 => 'LINE_TYPE_NAME'
12787: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12788: l_component_type
12789: ,l_component_code
12817: --
12818: --
12819: ------------------------------------------------------------------------------------------------
12820: -- 4219869 Business Flow
12821: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12822: -- Prior Entry. Currently, the following code is always generated.
12823: ------------------------------------------------------------------------------------------------
12824: XLA_AE_LINES_PKG.ValidateCurrentLine;
12825:
12820: -- 4219869 Business Flow
12821: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12822: -- Prior Entry. Currently, the following code is always generated.
12823: ------------------------------------------------------------------------------------------------
12824: XLA_AE_LINES_PKG.ValidateCurrentLine;
12825:
12826: ------------------------------------------------------------------------------------
12827: -- 4219869 Business Flow
12828: -- Populated credit and debit amounts -- Need to generate this within IF
12826: ------------------------------------------------------------------------------------
12827: -- 4219869 Business Flow
12828: -- Populated credit and debit amounts -- Need to generate this within IF
12829: ------------------------------------------------------------------------------------
12830: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12831:
12832: ----------------------------------------------------------------------------------
12833: -- 4219869 Business Flow
12834: -- Update journal entry status -- Need to generate this within IF
12858: -- To allow MPA report to determine if it should generate report process
12859: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12860: ------------------------------------------------------------------------------------------
12861:
12862: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12863: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12864:
12865: --
12866: -- Update the line information that should be overwritten
12859: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12860: ------------------------------------------------------------------------------------------
12861:
12862: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12863: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12864:
12865: --
12866: -- Update the line information that should be overwritten
12867: --
12864:
12865: --
12866: -- Update the line information that should be overwritten
12867: --
12868: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12869: p_header_num => 1);
12870: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12871:
12872: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12866: -- Update the line information that should be overwritten
12867: --
12868: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12869: p_header_num => 1);
12870: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12871:
12872: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12873:
12874: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12868: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12869: p_header_num => 1);
12870: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12871:
12872: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12873:
12874: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12875: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12876: END IF;
12871:
12872: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12873:
12874: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12875: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12876: END IF;
12877:
12878: --
12879: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12878: --
12879: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12880: --
12881: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12882: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12883: ELSE
12884: ---------------------------------------------------------------------------------------------------
12885: -- 4262811a Switch Sign
12886: ---------------------------------------------------------------------------------------------------
12883: ELSE
12884: ---------------------------------------------------------------------------------------------------
12885: -- 4262811a Switch Sign
12886: ---------------------------------------------------------------------------------------------------
12887: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12888: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12884: ---------------------------------------------------------------------------------------------------
12885: -- 4262811a Switch Sign
12886: ---------------------------------------------------------------------------------------------------
12887: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12888: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12885: -- 4262811a Switch Sign
12886: ---------------------------------------------------------------------------------------------------
12887: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12888: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12893: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12886: ---------------------------------------------------------------------------------------------------
12887: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12888: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12893: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12894: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12887: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12888: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12893: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12894: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12895:
12889: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12893: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12894: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12895:
12896: END IF;
12897:
12890: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12891: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12892: -- 5132302
12893: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12894: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12895:
12896: END IF;
12897:
12898: -- 4955764
12895:
12896: END IF;
12897:
12898: -- 4955764
12899: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12900: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12901:
12902:
12903: XLA_AE_LINES_PKG.ValidateCurrentLine;
12899: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12900: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12901:
12902:
12903: XLA_AE_LINES_PKG.ValidateCurrentLine;
12904: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12905:
12906: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12907: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12900: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12901:
12902:
12903: XLA_AE_LINES_PKG.ValidateCurrentLine;
12904: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12905:
12906: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12907: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12908: ,p_balance_type_code => l_balance_type_code);
13065: --
13066: -- bulk performance
13067: --
13068: l_balance_type_code VARCHAR2(1);
13069: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13070: l_log_module VARCHAR2(240);
13071:
13072: --
13073: -- Upgrade strategy
13147: p_source_40 IS NOT NULL
13148: THEN
13149:
13150: --
13151: XLA_AE_LINES_PKG.SetNewLine;
13152:
13153: p_balance_type_code := l_balance_type_code;
13154: -- set the flag so later we will know whether the gain loss line needs to be created
13155:
13159:
13160: --
13161: -- bulk performance
13162: --
13163: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13164: p_header_num => 0); -- 4262811
13165: --
13166: -- set accounting line options
13167: --
13164: p_header_num => 0); -- 4262811
13165: --
13166: -- set accounting line options
13167: --
13168: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13169: p_natural_side_code => 'D'
13170: , p_gain_or_loss_flag => 'N'
13171: , p_gl_transfer_mode_code => 'S'
13172: , p_acct_entry_type_code => 'A'
13178: --
13179: --
13180: -- set accounting line type info
13181: --
13182: xla_ae_lines_pkg.SetAcctLineType
13183: (p_component_type => l_component_type
13184: ,p_event_type_code => l_event_type_code
13185: ,p_line_definition_owner_code => l_line_definition_owner_code
13186: ,p_line_definition_code => l_line_definition_code
13192: ,p_event_class_code => l_event_class_code);
13193: --
13194: -- set accounting class
13195: --
13196: xla_ae_lines_pkg.SetAcctClass(
13197: p_accounting_class_code => 'PURCHASE_ORDER'
13198: , p_ae_header_id => l_ae_header_id
13199: );
13200:
13200:
13201: --
13202: -- set rounding class
13203: --
13204: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13205: 'PURCHASE_ORDER';
13206:
13207: --
13208: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13204: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13205: 'PURCHASE_ORDER';
13206:
13207: --
13208: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13209: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13210: --
13211: -- bulk performance
13212: --
13205: 'PURCHASE_ORDER';
13206:
13207: --
13208: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13209: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13210: --
13211: -- bulk performance
13212: --
13213: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13209: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13210: --
13211: -- bulk performance
13212: --
13213: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13214:
13215: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13216: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13217:
13211: -- bulk performance
13212: --
13213: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13214:
13215: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13216: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13217:
13218: -- 4955764
13219: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13215: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13216: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13217:
13218: -- 4955764
13219: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13220: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13221:
13222: -- 4458381 Public Sector Enh
13223:
13305: l_rec_acct_attrs.array_num_value(33) := p_source_32;
13306: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
13307: l_rec_acct_attrs.array_num_value(34) := p_source_32;
13308:
13309: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13310: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13311:
13312: ---------------------------------------------------------------------------------------------------------------
13313: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13306: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
13307: l_rec_acct_attrs.array_num_value(34) := p_source_32;
13308:
13309: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13310: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13311:
13312: ---------------------------------------------------------------------------------------------------------------
13313: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13314: ---------------------------------------------------------------------------------------------------------------
13309: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13310: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13311:
13312: ---------------------------------------------------------------------------------------------------------------
13313: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13314: ---------------------------------------------------------------------------------------------------------------
13315: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13316:
13317: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13311:
13312: ---------------------------------------------------------------------------------------------------------------
13313: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13314: ---------------------------------------------------------------------------------------------------------------
13315: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13316:
13317: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13318: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13319:
13313: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13314: ---------------------------------------------------------------------------------------------------------------
13315: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13316:
13317: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13318: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13319:
13320: IF xla_accounting_cache_pkg.GetValueChar
13321: (p_source_code => 'LEDGER_CATEGORY_CODE'
13314: ---------------------------------------------------------------------------------------------------------------
13315: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13316:
13317: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13318: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13319:
13320: IF xla_accounting_cache_pkg.GetValueChar
13321: (p_source_code => 'LEDGER_CATEGORY_CODE'
13322: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13325: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13326: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13327: )
13328: THEN
13329: xla_ae_lines_pkg.BflowUpgEntry
13330: (p_business_method_code => l_bflow_method_code
13331: ,p_business_class_code => l_bflow_class_code
13332: ,p_balance_type => l_balance_type_code);
13333: ELSE
13342: --
13343: -- call description
13344: --
13345:
13346: xla_ae_lines_pkg.SetLineDescription(
13347: p_ae_header_id => l_ae_header_id
13348: ,p_description => Description_2 (
13349: p_application_id => p_application_id
13350: , p_ae_header_id => l_ae_header_id
13375: , x_value_type_code => l_adr_value_type_code
13376: , p_side => 'NA'
13377: );
13378:
13379: xla_ae_lines_pkg.set_ccid(
13380: p_code_combination_id => l_ccid
13381: , p_value_type_code => l_adr_value_type_code
13382: , p_transaction_coa_id => l_adr_transaction_coa_id
13383: , p_accounting_coa_id => l_adr_accounting_coa_id
13409: );
13410:
13411: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13412:
13413: xla_ae_lines_pkg.set_segment(
13414: p_to_segment_code => 'GL_ACCOUNT'
13415: , p_segment_value => l_segment
13416: , p_from_segment_code => l_adr_value_segment_code
13417: , p_from_combination_id => l_adr_value_combination_id
13453: xla_accounting_err_pkg.build_message
13454: (p_appli_s_name => 'XLA'
13455: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13456: ,p_token_1 => 'LINE_NUMBER'
13457: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13458: ,p_token_2 => 'LINE_TYPE_NAME'
13459: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13460: l_component_type
13461: ,l_component_code
13489: --
13490: --
13491: ------------------------------------------------------------------------------------------------
13492: -- 4219869 Business Flow
13493: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13494: -- Prior Entry. Currently, the following code is always generated.
13495: ------------------------------------------------------------------------------------------------
13496: XLA_AE_LINES_PKG.ValidateCurrentLine;
13497:
13492: -- 4219869 Business Flow
13493: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13494: -- Prior Entry. Currently, the following code is always generated.
13495: ------------------------------------------------------------------------------------------------
13496: XLA_AE_LINES_PKG.ValidateCurrentLine;
13497:
13498: ------------------------------------------------------------------------------------
13499: -- 4219869 Business Flow
13500: -- Populated credit and debit amounts -- Need to generate this within IF
13498: ------------------------------------------------------------------------------------
13499: -- 4219869 Business Flow
13500: -- Populated credit and debit amounts -- Need to generate this within IF
13501: ------------------------------------------------------------------------------------
13502: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13503:
13504: ----------------------------------------------------------------------------------
13505: -- 4219869 Business Flow
13506: -- Update journal entry status -- Need to generate this within IF
13530: -- To allow MPA report to determine if it should generate report process
13531: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13532: ------------------------------------------------------------------------------------------
13533:
13534: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13535: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13536:
13537: --
13538: -- Update the line information that should be overwritten
13531: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13532: ------------------------------------------------------------------------------------------
13533:
13534: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13535: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13536:
13537: --
13538: -- Update the line information that should be overwritten
13539: --
13536:
13537: --
13538: -- Update the line information that should be overwritten
13539: --
13540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13541: p_header_num => 1);
13542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13543:
13544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13538: -- Update the line information that should be overwritten
13539: --
13540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13541: p_header_num => 1);
13542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13543:
13544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13545:
13546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13540: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13541: p_header_num => 1);
13542: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13543:
13544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13545:
13546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13547: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13548: END IF;
13543:
13544: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13545:
13546: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13547: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13548: END IF;
13549:
13550: --
13551: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13550: --
13551: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13552: --
13553: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13554: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13555: ELSE
13556: ---------------------------------------------------------------------------------------------------
13557: -- 4262811a Switch Sign
13558: ---------------------------------------------------------------------------------------------------
13555: ELSE
13556: ---------------------------------------------------------------------------------------------------
13557: -- 4262811a Switch Sign
13558: ---------------------------------------------------------------------------------------------------
13559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13556: ---------------------------------------------------------------------------------------------------
13557: -- 4262811a Switch Sign
13558: ---------------------------------------------------------------------------------------------------
13559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13557: -- 4262811a Switch Sign
13558: ---------------------------------------------------------------------------------------------------
13559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13558: ---------------------------------------------------------------------------------------------------
13559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13559: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13567:
13561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13567:
13568: END IF;
13569:
13562: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13564: -- 5132302
13565: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13567:
13568: END IF;
13569:
13570: -- 4955764
13567:
13568: END IF;
13569:
13570: -- 4955764
13571: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13573:
13574:
13575: XLA_AE_LINES_PKG.ValidateCurrentLine;
13571: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13573:
13574:
13575: XLA_AE_LINES_PKG.ValidateCurrentLine;
13576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13577:
13578: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13579: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13572: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13573:
13574:
13575: XLA_AE_LINES_PKG.ValidateCurrentLine;
13576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13577:
13578: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13579: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13580: ,p_balance_type_code => l_balance_type_code);
13733: --
13734: -- bulk performance
13735: --
13736: l_balance_type_code VARCHAR2(1);
13737: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13738: l_log_module VARCHAR2(240);
13739:
13740: --
13741: -- Upgrade strategy
13813: ') = 'Y'
13814: THEN
13815:
13816: --
13817: XLA_AE_LINES_PKG.SetNewLine;
13818:
13819: p_balance_type_code := l_balance_type_code;
13820: -- set the flag so later we will know whether the gain loss line needs to be created
13821:
13825:
13826: --
13827: -- bulk performance
13828: --
13829: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13830: p_header_num => 0); -- 4262811
13831: --
13832: -- set accounting line options
13833: --
13830: p_header_num => 0); -- 4262811
13831: --
13832: -- set accounting line options
13833: --
13834: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13835: p_natural_side_code => 'D'
13836: , p_gain_or_loss_flag => 'N'
13837: , p_gl_transfer_mode_code => 'S'
13838: , p_acct_entry_type_code => 'A'
13844: --
13845: --
13846: -- set accounting line type info
13847: --
13848: xla_ae_lines_pkg.SetAcctLineType
13849: (p_component_type => l_component_type
13850: ,p_event_type_code => l_event_type_code
13851: ,p_line_definition_owner_code => l_line_definition_owner_code
13852: ,p_line_definition_code => l_line_definition_code
13858: ,p_event_class_code => l_event_class_code);
13859: --
13860: -- set accounting class
13861: --
13862: xla_ae_lines_pkg.SetAcctClass(
13863: p_accounting_class_code => 'PURCHASE_ORDER'
13864: , p_ae_header_id => l_ae_header_id
13865: );
13866:
13866:
13867: --
13868: -- set rounding class
13869: --
13870: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13871: 'PURCHASE_ORDER';
13872:
13873: --
13874: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13870: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13871: 'PURCHASE_ORDER';
13872:
13873: --
13874: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13875: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13876: --
13877: -- bulk performance
13878: --
13871: 'PURCHASE_ORDER';
13872:
13873: --
13874: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13875: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13876: --
13877: -- bulk performance
13878: --
13879: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13875: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13876: --
13877: -- bulk performance
13878: --
13879: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13880:
13881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13882: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13883:
13877: -- bulk performance
13878: --
13879: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13880:
13881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13882: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13883:
13884: -- 4955764
13885: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13881: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13882: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13883:
13884: -- 4955764
13885: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13886: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13887:
13888: -- 4458381 Public Sector Enh
13889:
13971: l_rec_acct_attrs.array_num_value(33) := p_source_32;
13972: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
13973: l_rec_acct_attrs.array_num_value(34) := p_source_32;
13974:
13975: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13976: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13977:
13978: ---------------------------------------------------------------------------------------------------------------
13979: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13972: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
13973: l_rec_acct_attrs.array_num_value(34) := p_source_32;
13974:
13975: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13976: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13977:
13978: ---------------------------------------------------------------------------------------------------------------
13979: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13980: ---------------------------------------------------------------------------------------------------------------
13975: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13976: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13977:
13978: ---------------------------------------------------------------------------------------------------------------
13979: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13980: ---------------------------------------------------------------------------------------------------------------
13981: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13982:
13983: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13977:
13978: ---------------------------------------------------------------------------------------------------------------
13979: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13980: ---------------------------------------------------------------------------------------------------------------
13981: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13982:
13983: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13984: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13985:
13979: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13980: ---------------------------------------------------------------------------------------------------------------
13981: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13982:
13983: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13984: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13985:
13986: IF xla_accounting_cache_pkg.GetValueChar
13987: (p_source_code => 'LEDGER_CATEGORY_CODE'
13980: ---------------------------------------------------------------------------------------------------------------
13981: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13982:
13983: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13984: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13985:
13986: IF xla_accounting_cache_pkg.GetValueChar
13987: (p_source_code => 'LEDGER_CATEGORY_CODE'
13988: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13991: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13992: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13993: )
13994: THEN
13995: xla_ae_lines_pkg.BflowUpgEntry
13996: (p_business_method_code => l_bflow_method_code
13997: ,p_business_class_code => l_bflow_class_code
13998: ,p_balance_type => l_balance_type_code);
13999: ELSE
14008: --
14009: -- call description
14010: --
14011:
14012: xla_ae_lines_pkg.SetLineDescription(
14013: p_ae_header_id => l_ae_header_id
14014: ,p_description => Description_2 (
14015: p_application_id => p_application_id
14016: , p_ae_header_id => l_ae_header_id
14041: , x_value_type_code => l_adr_value_type_code
14042: , p_side => 'NA'
14043: );
14044:
14045: xla_ae_lines_pkg.set_ccid(
14046: p_code_combination_id => l_ccid
14047: , p_value_type_code => l_adr_value_type_code
14048: , p_transaction_coa_id => l_adr_transaction_coa_id
14049: , p_accounting_coa_id => l_adr_accounting_coa_id
14074: );
14075:
14076: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14077:
14078: xla_ae_lines_pkg.set_segment(
14079: p_to_segment_code => 'GL_ACCOUNT'
14080: , p_segment_value => l_segment
14081: , p_from_segment_code => l_adr_value_segment_code
14082: , p_from_combination_id => l_adr_value_combination_id
14118: xla_accounting_err_pkg.build_message
14119: (p_appli_s_name => 'XLA'
14120: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14121: ,p_token_1 => 'LINE_NUMBER'
14122: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14123: ,p_token_2 => 'LINE_TYPE_NAME'
14124: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14125: l_component_type
14126: ,l_component_code
14154: --
14155: --
14156: ------------------------------------------------------------------------------------------------
14157: -- 4219869 Business Flow
14158: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14159: -- Prior Entry. Currently, the following code is always generated.
14160: ------------------------------------------------------------------------------------------------
14161: XLA_AE_LINES_PKG.ValidateCurrentLine;
14162:
14157: -- 4219869 Business Flow
14158: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14159: -- Prior Entry. Currently, the following code is always generated.
14160: ------------------------------------------------------------------------------------------------
14161: XLA_AE_LINES_PKG.ValidateCurrentLine;
14162:
14163: ------------------------------------------------------------------------------------
14164: -- 4219869 Business Flow
14165: -- Populated credit and debit amounts -- Need to generate this within IF
14163: ------------------------------------------------------------------------------------
14164: -- 4219869 Business Flow
14165: -- Populated credit and debit amounts -- Need to generate this within IF
14166: ------------------------------------------------------------------------------------
14167: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14168:
14169: ----------------------------------------------------------------------------------
14170: -- 4219869 Business Flow
14171: -- Update journal entry status -- Need to generate this within IF
14195: -- To allow MPA report to determine if it should generate report process
14196: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14197: ------------------------------------------------------------------------------------------
14198:
14199: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14200: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14201:
14202: --
14203: -- Update the line information that should be overwritten
14196: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14197: ------------------------------------------------------------------------------------------
14198:
14199: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14200: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14201:
14202: --
14203: -- Update the line information that should be overwritten
14204: --
14201:
14202: --
14203: -- Update the line information that should be overwritten
14204: --
14205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14206: p_header_num => 1);
14207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14208:
14209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14203: -- Update the line information that should be overwritten
14204: --
14205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14206: p_header_num => 1);
14207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14208:
14209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14210:
14211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14206: p_header_num => 1);
14207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14208:
14209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14210:
14211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14212: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14213: END IF;
14208:
14209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14210:
14211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14212: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14213: END IF;
14214:
14215: --
14216: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14215: --
14216: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14217: --
14218: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14219: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14220: ELSE
14221: ---------------------------------------------------------------------------------------------------
14222: -- 4262811a Switch Sign
14223: ---------------------------------------------------------------------------------------------------
14220: ELSE
14221: ---------------------------------------------------------------------------------------------------
14222: -- 4262811a Switch Sign
14223: ---------------------------------------------------------------------------------------------------
14224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14221: ---------------------------------------------------------------------------------------------------
14222: -- 4262811a Switch Sign
14223: ---------------------------------------------------------------------------------------------------
14224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14222: -- 4262811a Switch Sign
14223: ---------------------------------------------------------------------------------------------------
14224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14223: ---------------------------------------------------------------------------------------------------
14224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14232:
14226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14232:
14233: END IF;
14234:
14227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14229: -- 5132302
14230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14232:
14233: END IF;
14234:
14235: -- 4955764
14232:
14233: END IF;
14234:
14235: -- 4955764
14236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14238:
14239:
14240: XLA_AE_LINES_PKG.ValidateCurrentLine;
14236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14238:
14239:
14240: XLA_AE_LINES_PKG.ValidateCurrentLine;
14241: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14242:
14243: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14244: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14238:
14239:
14240: XLA_AE_LINES_PKG.ValidateCurrentLine;
14241: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14242:
14243: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14244: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14245: ,p_balance_type_code => l_balance_type_code);
14388: --
14389: -- bulk performance
14390: --
14391: l_balance_type_code VARCHAR2(1);
14392: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14393: l_log_module VARCHAR2(240);
14394:
14395: --
14396: -- Upgrade strategy
14477: ') = 'B_PA'
14478: THEN
14479:
14480: --
14481: XLA_AE_LINES_PKG.SetNewLine;
14482:
14483: p_balance_type_code := l_balance_type_code;
14484: -- set the flag so later we will know whether the gain loss line needs to be created
14485:
14489:
14490: --
14491: -- bulk performance
14492: --
14493: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14494: p_header_num => 0); -- 4262811
14495: --
14496: -- set accounting line options
14497: --
14494: p_header_num => 0); -- 4262811
14495: --
14496: -- set accounting line options
14497: --
14498: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14499: p_natural_side_code => 'C'
14500: , p_gain_or_loss_flag => 'N'
14501: , p_gl_transfer_mode_code => 'S'
14502: , p_acct_entry_type_code => 'A'
14508: --
14509: --
14510: -- set accounting line type info
14511: --
14512: xla_ae_lines_pkg.SetAcctLineType
14513: (p_component_type => l_component_type
14514: ,p_event_type_code => l_event_type_code
14515: ,p_line_definition_owner_code => l_line_definition_owner_code
14516: ,p_line_definition_code => l_line_definition_code
14522: ,p_event_class_code => l_event_class_code);
14523: --
14524: -- set accounting class
14525: --
14526: xla_ae_lines_pkg.SetAcctClass(
14527: p_accounting_class_code => 'PURCHASE_ORDER'
14528: , p_ae_header_id => l_ae_header_id
14529: );
14530:
14530:
14531: --
14532: -- set rounding class
14533: --
14534: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14535: 'PURCHASE_ORDER';
14536:
14537: --
14538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14534: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14535: 'PURCHASE_ORDER';
14536:
14537: --
14538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14540: --
14541: -- bulk performance
14542: --
14535: 'PURCHASE_ORDER';
14536:
14537: --
14538: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14540: --
14541: -- bulk performance
14542: --
14543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14539: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14540: --
14541: -- bulk performance
14542: --
14543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14544:
14545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14547:
14541: -- bulk performance
14542: --
14543: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14544:
14545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14547:
14548: -- 4955764
14549: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14546: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14547:
14548: -- 4955764
14549: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14550: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14551:
14552: -- 4458381 Public Sector Enh
14553:
14629: l_rec_acct_attrs.array_num_value(30) := p_source_32;
14630: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
14631: l_rec_acct_attrs.array_num_value(31) := p_source_32;
14632:
14633: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14634: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14635:
14636: ---------------------------------------------------------------------------------------------------------------
14637: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14630: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
14631: l_rec_acct_attrs.array_num_value(31) := p_source_32;
14632:
14633: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14634: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14635:
14636: ---------------------------------------------------------------------------------------------------------------
14637: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14638: ---------------------------------------------------------------------------------------------------------------
14633: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14634: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14635:
14636: ---------------------------------------------------------------------------------------------------------------
14637: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14638: ---------------------------------------------------------------------------------------------------------------
14639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14640:
14641: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14635:
14636: ---------------------------------------------------------------------------------------------------------------
14637: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14638: ---------------------------------------------------------------------------------------------------------------
14639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14640:
14641: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14642: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14643:
14637: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14638: ---------------------------------------------------------------------------------------------------------------
14639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14640:
14641: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14642: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14643:
14644: IF xla_accounting_cache_pkg.GetValueChar
14645: (p_source_code => 'LEDGER_CATEGORY_CODE'
14638: ---------------------------------------------------------------------------------------------------------------
14639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14640:
14641: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14642: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14643:
14644: IF xla_accounting_cache_pkg.GetValueChar
14645: (p_source_code => 'LEDGER_CATEGORY_CODE'
14646: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14649: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14650: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14651: )
14652: THEN
14653: xla_ae_lines_pkg.BflowUpgEntry
14654: (p_business_method_code => l_bflow_method_code
14655: ,p_business_class_code => l_bflow_class_code
14656: ,p_balance_type => l_balance_type_code);
14657: ELSE
14655: ,p_business_class_code => l_bflow_class_code
14656: ,p_balance_type => l_balance_type_code);
14657: ELSE
14658: NULL;
14659: XLA_AE_LINES_PKG.business_flow_validation(
14660: p_business_method_code => l_bflow_method_code
14661: ,p_business_class_code => l_bflow_class_code
14662: ,p_inherit_description_flag => l_inherit_desc_flag);
14663: END IF;
14702: xla_accounting_err_pkg.build_message
14703: (p_appli_s_name => 'XLA'
14704: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14705: ,p_token_1 => 'LINE_NUMBER'
14706: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14707: ,p_token_2 => 'LINE_TYPE_NAME'
14708: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14709: l_component_type
14710: ,l_component_code
14738: --
14739: --
14740: ------------------------------------------------------------------------------------------------
14741: -- 4219869 Business Flow
14742: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14743: -- Prior Entry. Currently, the following code is always generated.
14744: ------------------------------------------------------------------------------------------------
14745: -- No ValidateCurrentLine for business flow method of Prior Entry
14746:
14747: ------------------------------------------------------------------------------------
14748: -- 4219869 Business Flow
14749: -- Populated credit and debit amounts -- Need to generate this within IF
14750: ------------------------------------------------------------------------------------
14751: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14752:
14753: ----------------------------------------------------------------------------------
14754: -- 4219869 Business Flow
14755: -- Update journal entry status -- Need to generate this within IF
14779: -- To allow MPA report to determine if it should generate report process
14780: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14781: ------------------------------------------------------------------------------------------
14782:
14783: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14784: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14785:
14786: --
14787: -- Update the line information that should be overwritten
14780: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14781: ------------------------------------------------------------------------------------------
14782:
14783: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14784: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14785:
14786: --
14787: -- Update the line information that should be overwritten
14788: --
14785:
14786: --
14787: -- Update the line information that should be overwritten
14788: --
14789: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14790: p_header_num => 1);
14791: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14792:
14793: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14787: -- Update the line information that should be overwritten
14788: --
14789: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14790: p_header_num => 1);
14791: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14792:
14793: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14794:
14795: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14789: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14790: p_header_num => 1);
14791: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14792:
14793: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14794:
14795: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14796: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14797: END IF;
14792:
14793: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14794:
14795: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14796: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14797: END IF;
14798:
14799: --
14800: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14799: --
14800: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14801: --
14802: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14803: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14804: ELSE
14805: ---------------------------------------------------------------------------------------------------
14806: -- 4262811a Switch Sign
14807: ---------------------------------------------------------------------------------------------------
14804: ELSE
14805: ---------------------------------------------------------------------------------------------------
14806: -- 4262811a Switch Sign
14807: ---------------------------------------------------------------------------------------------------
14808: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14809: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14805: ---------------------------------------------------------------------------------------------------
14806: -- 4262811a Switch Sign
14807: ---------------------------------------------------------------------------------------------------
14808: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14809: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14806: -- 4262811a Switch Sign
14807: ---------------------------------------------------------------------------------------------------
14808: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14809: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14814: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14807: ---------------------------------------------------------------------------------------------------
14808: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14809: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14814: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14815: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14808: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14809: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14814: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14815: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14816:
14810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14814: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14815: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14816:
14817: END IF;
14818:
14811: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14812: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14813: -- 5132302
14814: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14815: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14816:
14817: END IF;
14818:
14819: -- 4955764
14816:
14817: END IF;
14818:
14819: -- 4955764
14820: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14821: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14822:
14823:
14824: XLA_AE_LINES_PKG.ValidateCurrentLine;
14820: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14821: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14822:
14823:
14824: XLA_AE_LINES_PKG.ValidateCurrentLine;
14825: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14826:
14827: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14828: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14821: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14822:
14823:
14824: XLA_AE_LINES_PKG.ValidateCurrentLine;
14825: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14826:
14827: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14828: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14829: ,p_balance_type_code => l_balance_type_code);
14972: --
14973: -- bulk performance
14974: --
14975: l_balance_type_code VARCHAR2(1);
14976: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14977: l_log_module VARCHAR2(240);
14978:
14979: --
14980: -- Upgrade strategy
15061: ') = 'B_PA'
15062: THEN
15063:
15064: --
15065: XLA_AE_LINES_PKG.SetNewLine;
15066:
15067: p_balance_type_code := l_balance_type_code;
15068: -- set the flag so later we will know whether the gain loss line needs to be created
15069:
15073:
15074: --
15075: -- bulk performance
15076: --
15077: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15078: p_header_num => 0); -- 4262811
15079: --
15080: -- set accounting line options
15081: --
15078: p_header_num => 0); -- 4262811
15079: --
15080: -- set accounting line options
15081: --
15082: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15083: p_natural_side_code => 'D'
15084: , p_gain_or_loss_flag => 'N'
15085: , p_gl_transfer_mode_code => 'S'
15086: , p_acct_entry_type_code => 'A'
15092: --
15093: --
15094: -- set accounting line type info
15095: --
15096: xla_ae_lines_pkg.SetAcctLineType
15097: (p_component_type => l_component_type
15098: ,p_event_type_code => l_event_type_code
15099: ,p_line_definition_owner_code => l_line_definition_owner_code
15100: ,p_line_definition_code => l_line_definition_code
15106: ,p_event_class_code => l_event_class_code);
15107: --
15108: -- set accounting class
15109: --
15110: xla_ae_lines_pkg.SetAcctClass(
15111: p_accounting_class_code => 'PURCHASE_ORDER'
15112: , p_ae_header_id => l_ae_header_id
15113: );
15114:
15114:
15115: --
15116: -- set rounding class
15117: --
15118: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15119: 'PURCHASE_ORDER';
15120:
15121: --
15122: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15118: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15119: 'PURCHASE_ORDER';
15120:
15121: --
15122: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15123: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15124: --
15125: -- bulk performance
15126: --
15119: 'PURCHASE_ORDER';
15120:
15121: --
15122: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15123: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15124: --
15125: -- bulk performance
15126: --
15127: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15123: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15124: --
15125: -- bulk performance
15126: --
15127: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15128:
15129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15130: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15131:
15125: -- bulk performance
15126: --
15127: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15128:
15129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15130: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15131:
15132: -- 4955764
15133: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15130: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15131:
15132: -- 4955764
15133: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15134: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15135:
15136: -- 4458381 Public Sector Enh
15137:
15213: l_rec_acct_attrs.array_num_value(30) := p_source_32;
15214: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
15215: l_rec_acct_attrs.array_num_value(31) := p_source_32;
15216:
15217: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15218: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15219:
15220: ---------------------------------------------------------------------------------------------------------------
15221: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15214: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
15215: l_rec_acct_attrs.array_num_value(31) := p_source_32;
15216:
15217: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15218: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15219:
15220: ---------------------------------------------------------------------------------------------------------------
15221: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15222: ---------------------------------------------------------------------------------------------------------------
15217: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15218: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15219:
15220: ---------------------------------------------------------------------------------------------------------------
15221: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15222: ---------------------------------------------------------------------------------------------------------------
15223: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15224:
15225: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15219:
15220: ---------------------------------------------------------------------------------------------------------------
15221: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15222: ---------------------------------------------------------------------------------------------------------------
15223: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15224:
15225: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15226: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15227:
15221: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15222: ---------------------------------------------------------------------------------------------------------------
15223: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15224:
15225: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15226: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15227:
15228: IF xla_accounting_cache_pkg.GetValueChar
15229: (p_source_code => 'LEDGER_CATEGORY_CODE'
15222: ---------------------------------------------------------------------------------------------------------------
15223: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15224:
15225: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15226: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15227:
15228: IF xla_accounting_cache_pkg.GetValueChar
15229: (p_source_code => 'LEDGER_CATEGORY_CODE'
15230: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15233: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15234: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15235: )
15236: THEN
15237: xla_ae_lines_pkg.BflowUpgEntry
15238: (p_business_method_code => l_bflow_method_code
15239: ,p_business_class_code => l_bflow_class_code
15240: ,p_balance_type => l_balance_type_code);
15241: ELSE
15239: ,p_business_class_code => l_bflow_class_code
15240: ,p_balance_type => l_balance_type_code);
15241: ELSE
15242: NULL;
15243: XLA_AE_LINES_PKG.business_flow_validation(
15244: p_business_method_code => l_bflow_method_code
15245: ,p_business_class_code => l_bflow_class_code
15246: ,p_inherit_description_flag => l_inherit_desc_flag);
15247: END IF;
15286: xla_accounting_err_pkg.build_message
15287: (p_appli_s_name => 'XLA'
15288: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15289: ,p_token_1 => 'LINE_NUMBER'
15290: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15291: ,p_token_2 => 'LINE_TYPE_NAME'
15292: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15293: l_component_type
15294: ,l_component_code
15322: --
15323: --
15324: ------------------------------------------------------------------------------------------------
15325: -- 4219869 Business Flow
15326: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15327: -- Prior Entry. Currently, the following code is always generated.
15328: ------------------------------------------------------------------------------------------------
15329: -- No ValidateCurrentLine for business flow method of Prior Entry
15330:
15331: ------------------------------------------------------------------------------------
15332: -- 4219869 Business Flow
15333: -- Populated credit and debit amounts -- Need to generate this within IF
15334: ------------------------------------------------------------------------------------
15335: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15336:
15337: ----------------------------------------------------------------------------------
15338: -- 4219869 Business Flow
15339: -- Update journal entry status -- Need to generate this within IF
15363: -- To allow MPA report to determine if it should generate report process
15364: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15365: ------------------------------------------------------------------------------------------
15366:
15367: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15368: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15369:
15370: --
15371: -- Update the line information that should be overwritten
15364: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15365: ------------------------------------------------------------------------------------------
15366:
15367: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15368: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15369:
15370: --
15371: -- Update the line information that should be overwritten
15372: --
15369:
15370: --
15371: -- Update the line information that should be overwritten
15372: --
15373: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15374: p_header_num => 1);
15375: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15376:
15377: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15371: -- Update the line information that should be overwritten
15372: --
15373: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15374: p_header_num => 1);
15375: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15376:
15377: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15378:
15379: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15373: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15374: p_header_num => 1);
15375: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15376:
15377: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15378:
15379: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15380: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15381: END IF;
15376:
15377: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15378:
15379: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15380: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15381: END IF;
15382:
15383: --
15384: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15383: --
15384: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15385: --
15386: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15387: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15388: ELSE
15389: ---------------------------------------------------------------------------------------------------
15390: -- 4262811a Switch Sign
15391: ---------------------------------------------------------------------------------------------------
15388: ELSE
15389: ---------------------------------------------------------------------------------------------------
15390: -- 4262811a Switch Sign
15391: ---------------------------------------------------------------------------------------------------
15392: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15389: ---------------------------------------------------------------------------------------------------
15390: -- 4262811a Switch Sign
15391: ---------------------------------------------------------------------------------------------------
15392: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15390: -- 4262811a Switch Sign
15391: ---------------------------------------------------------------------------------------------------
15392: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15398: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15391: ---------------------------------------------------------------------------------------------------
15392: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15398: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15399: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15392: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15393: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15398: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15399: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15400:
15394: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15398: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15399: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15400:
15401: END IF;
15402:
15395: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15396: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15397: -- 5132302
15398: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15399: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15400:
15401: END IF;
15402:
15403: -- 4955764
15400:
15401: END IF;
15402:
15403: -- 4955764
15404: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15405: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15406:
15407:
15408: XLA_AE_LINES_PKG.ValidateCurrentLine;
15404: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15405: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15406:
15407:
15408: XLA_AE_LINES_PKG.ValidateCurrentLine;
15409: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15410:
15411: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15412: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15405: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15406:
15407:
15408: XLA_AE_LINES_PKG.ValidateCurrentLine;
15409: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15410:
15411: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15412: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15413: ,p_balance_type_code => l_balance_type_code);
15556: --
15557: -- bulk performance
15558: --
15559: l_balance_type_code VARCHAR2(1);
15560: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15561: l_log_module VARCHAR2(240);
15562:
15563: --
15564: -- Upgrade strategy
15645: ') = 'B_REQ'
15646: THEN
15647:
15648: --
15649: XLA_AE_LINES_PKG.SetNewLine;
15650:
15651: p_balance_type_code := l_balance_type_code;
15652: -- set the flag so later we will know whether the gain loss line needs to be created
15653:
15657:
15658: --
15659: -- bulk performance
15660: --
15661: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15662: p_header_num => 0); -- 4262811
15663: --
15664: -- set accounting line options
15665: --
15662: p_header_num => 0); -- 4262811
15663: --
15664: -- set accounting line options
15665: --
15666: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15667: p_natural_side_code => 'C'
15668: , p_gain_or_loss_flag => 'N'
15669: , p_gl_transfer_mode_code => 'S'
15670: , p_acct_entry_type_code => 'A'
15676: --
15677: --
15678: -- set accounting line type info
15679: --
15680: xla_ae_lines_pkg.SetAcctLineType
15681: (p_component_type => l_component_type
15682: ,p_event_type_code => l_event_type_code
15683: ,p_line_definition_owner_code => l_line_definition_owner_code
15684: ,p_line_definition_code => l_line_definition_code
15690: ,p_event_class_code => l_event_class_code);
15691: --
15692: -- set accounting class
15693: --
15694: xla_ae_lines_pkg.SetAcctClass(
15695: p_accounting_class_code => 'REQUISITION'
15696: , p_ae_header_id => l_ae_header_id
15697: );
15698:
15698:
15699: --
15700: -- set rounding class
15701: --
15702: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15703: 'REQUISITION';
15704:
15705: --
15706: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15702: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15703: 'REQUISITION';
15704:
15705: --
15706: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15707: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15708: --
15709: -- bulk performance
15710: --
15703: 'REQUISITION';
15704:
15705: --
15706: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15707: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15708: --
15709: -- bulk performance
15710: --
15711: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15707: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15708: --
15709: -- bulk performance
15710: --
15711: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15712:
15713: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15714: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15715:
15709: -- bulk performance
15710: --
15711: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15712:
15713: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15714: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15715:
15716: -- 4955764
15717: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15713: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15714: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15715:
15716: -- 4955764
15717: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15718: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15719:
15720: -- 4458381 Public Sector Enh
15721:
15797: l_rec_acct_attrs.array_num_value(30) := p_source_32;
15798: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
15799: l_rec_acct_attrs.array_num_value(31) := p_source_32;
15800:
15801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15803:
15804: ---------------------------------------------------------------------------------------------------------------
15805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15798: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
15799: l_rec_acct_attrs.array_num_value(31) := p_source_32;
15800:
15801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15803:
15804: ---------------------------------------------------------------------------------------------------------------
15805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15806: ---------------------------------------------------------------------------------------------------------------
15801: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15802: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15803:
15804: ---------------------------------------------------------------------------------------------------------------
15805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15806: ---------------------------------------------------------------------------------------------------------------
15807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15808:
15809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15803:
15804: ---------------------------------------------------------------------------------------------------------------
15805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15806: ---------------------------------------------------------------------------------------------------------------
15807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15808:
15809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15811:
15805: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15806: ---------------------------------------------------------------------------------------------------------------
15807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15808:
15809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15811:
15812: IF xla_accounting_cache_pkg.GetValueChar
15813: (p_source_code => 'LEDGER_CATEGORY_CODE'
15806: ---------------------------------------------------------------------------------------------------------------
15807: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15808:
15809: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15810: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15811:
15812: IF xla_accounting_cache_pkg.GetValueChar
15813: (p_source_code => 'LEDGER_CATEGORY_CODE'
15814: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15817: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15818: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15819: )
15820: THEN
15821: xla_ae_lines_pkg.BflowUpgEntry
15822: (p_business_method_code => l_bflow_method_code
15823: ,p_business_class_code => l_bflow_class_code
15824: ,p_balance_type => l_balance_type_code);
15825: ELSE
15823: ,p_business_class_code => l_bflow_class_code
15824: ,p_balance_type => l_balance_type_code);
15825: ELSE
15826: NULL;
15827: XLA_AE_LINES_PKG.business_flow_validation(
15828: p_business_method_code => l_bflow_method_code
15829: ,p_business_class_code => l_bflow_class_code
15830: ,p_inherit_description_flag => l_inherit_desc_flag);
15831: END IF;
15870: xla_accounting_err_pkg.build_message
15871: (p_appli_s_name => 'XLA'
15872: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15873: ,p_token_1 => 'LINE_NUMBER'
15874: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15875: ,p_token_2 => 'LINE_TYPE_NAME'
15876: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15877: l_component_type
15878: ,l_component_code
15906: --
15907: --
15908: ------------------------------------------------------------------------------------------------
15909: -- 4219869 Business Flow
15910: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15911: -- Prior Entry. Currently, the following code is always generated.
15912: ------------------------------------------------------------------------------------------------
15913: -- No ValidateCurrentLine for business flow method of Prior Entry
15914:
15915: ------------------------------------------------------------------------------------
15916: -- 4219869 Business Flow
15917: -- Populated credit and debit amounts -- Need to generate this within IF
15918: ------------------------------------------------------------------------------------
15919: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15920:
15921: ----------------------------------------------------------------------------------
15922: -- 4219869 Business Flow
15923: -- Update journal entry status -- Need to generate this within IF
15947: -- To allow MPA report to determine if it should generate report process
15948: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15949: ------------------------------------------------------------------------------------------
15950:
15951: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15952: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15953:
15954: --
15955: -- Update the line information that should be overwritten
15948: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15949: ------------------------------------------------------------------------------------------
15950:
15951: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15952: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15953:
15954: --
15955: -- Update the line information that should be overwritten
15956: --
15953:
15954: --
15955: -- Update the line information that should be overwritten
15956: --
15957: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15958: p_header_num => 1);
15959: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15960:
15961: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15955: -- Update the line information that should be overwritten
15956: --
15957: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15958: p_header_num => 1);
15959: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15960:
15961: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15962:
15963: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15957: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15958: p_header_num => 1);
15959: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15960:
15961: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15962:
15963: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15964: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15965: END IF;
15960:
15961: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15962:
15963: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15964: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15965: END IF;
15966:
15967: --
15968: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15967: --
15968: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15969: --
15970: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15971: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15972: ELSE
15973: ---------------------------------------------------------------------------------------------------
15974: -- 4262811a Switch Sign
15975: ---------------------------------------------------------------------------------------------------
15972: ELSE
15973: ---------------------------------------------------------------------------------------------------
15974: -- 4262811a Switch Sign
15975: ---------------------------------------------------------------------------------------------------
15976: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15973: ---------------------------------------------------------------------------------------------------
15974: -- 4262811a Switch Sign
15975: ---------------------------------------------------------------------------------------------------
15976: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15974: -- 4262811a Switch Sign
15975: ---------------------------------------------------------------------------------------------------
15976: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15975: ---------------------------------------------------------------------------------------------------
15976: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15983: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15976: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15977: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15983: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15984:
15978: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15983: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15984:
15985: END IF;
15986:
15979: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15980: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15981: -- 5132302
15982: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15983: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15984:
15985: END IF;
15986:
15987: -- 4955764
15984:
15985: END IF;
15986:
15987: -- 4955764
15988: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15989: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15990:
15991:
15992: XLA_AE_LINES_PKG.ValidateCurrentLine;
15988: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15989: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15990:
15991:
15992: XLA_AE_LINES_PKG.ValidateCurrentLine;
15993: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15994:
15995: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15996: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15989: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15990:
15991:
15992: XLA_AE_LINES_PKG.ValidateCurrentLine;
15993: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15994:
15995: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15996: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15997: ,p_balance_type_code => l_balance_type_code);
16140: --
16141: -- bulk performance
16142: --
16143: l_balance_type_code VARCHAR2(1);
16144: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16145: l_log_module VARCHAR2(240);
16146:
16147: --
16148: -- Upgrade strategy
16229: ') = 'B_REQ'
16230: THEN
16231:
16232: --
16233: XLA_AE_LINES_PKG.SetNewLine;
16234:
16235: p_balance_type_code := l_balance_type_code;
16236: -- set the flag so later we will know whether the gain loss line needs to be created
16237:
16241:
16242: --
16243: -- bulk performance
16244: --
16245: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16246: p_header_num => 0); -- 4262811
16247: --
16248: -- set accounting line options
16249: --
16246: p_header_num => 0); -- 4262811
16247: --
16248: -- set accounting line options
16249: --
16250: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16251: p_natural_side_code => 'D'
16252: , p_gain_or_loss_flag => 'N'
16253: , p_gl_transfer_mode_code => 'S'
16254: , p_acct_entry_type_code => 'A'
16260: --
16261: --
16262: -- set accounting line type info
16263: --
16264: xla_ae_lines_pkg.SetAcctLineType
16265: (p_component_type => l_component_type
16266: ,p_event_type_code => l_event_type_code
16267: ,p_line_definition_owner_code => l_line_definition_owner_code
16268: ,p_line_definition_code => l_line_definition_code
16274: ,p_event_class_code => l_event_class_code);
16275: --
16276: -- set accounting class
16277: --
16278: xla_ae_lines_pkg.SetAcctClass(
16279: p_accounting_class_code => 'REQUISITION'
16280: , p_ae_header_id => l_ae_header_id
16281: );
16282:
16282:
16283: --
16284: -- set rounding class
16285: --
16286: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16287: 'REQUISITION';
16288:
16289: --
16290: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16286: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16287: 'REQUISITION';
16288:
16289: --
16290: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16291: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16292: --
16293: -- bulk performance
16294: --
16287: 'REQUISITION';
16288:
16289: --
16290: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16291: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16292: --
16293: -- bulk performance
16294: --
16295: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16291: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16292: --
16293: -- bulk performance
16294: --
16295: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16296:
16297: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16298: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16299:
16293: -- bulk performance
16294: --
16295: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16296:
16297: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16298: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16299:
16300: -- 4955764
16301: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16297: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16298: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16299:
16300: -- 4955764
16301: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16302: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16303:
16304: -- 4458381 Public Sector Enh
16305:
16381: l_rec_acct_attrs.array_num_value(30) := p_source_32;
16382: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
16383: l_rec_acct_attrs.array_num_value(31) := p_source_32;
16384:
16385: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16386: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16387:
16388: ---------------------------------------------------------------------------------------------------------------
16389: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16382: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
16383: l_rec_acct_attrs.array_num_value(31) := p_source_32;
16384:
16385: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16386: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16387:
16388: ---------------------------------------------------------------------------------------------------------------
16389: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16390: ---------------------------------------------------------------------------------------------------------------
16385: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16386: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16387:
16388: ---------------------------------------------------------------------------------------------------------------
16389: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16390: ---------------------------------------------------------------------------------------------------------------
16391: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16392:
16393: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16387:
16388: ---------------------------------------------------------------------------------------------------------------
16389: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16390: ---------------------------------------------------------------------------------------------------------------
16391: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16392:
16393: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16394: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16395:
16389: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16390: ---------------------------------------------------------------------------------------------------------------
16391: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16392:
16393: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16394: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16395:
16396: IF xla_accounting_cache_pkg.GetValueChar
16397: (p_source_code => 'LEDGER_CATEGORY_CODE'
16390: ---------------------------------------------------------------------------------------------------------------
16391: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16392:
16393: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16394: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16395:
16396: IF xla_accounting_cache_pkg.GetValueChar
16397: (p_source_code => 'LEDGER_CATEGORY_CODE'
16398: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16401: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16402: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16403: )
16404: THEN
16405: xla_ae_lines_pkg.BflowUpgEntry
16406: (p_business_method_code => l_bflow_method_code
16407: ,p_business_class_code => l_bflow_class_code
16408: ,p_balance_type => l_balance_type_code);
16409: ELSE
16407: ,p_business_class_code => l_bflow_class_code
16408: ,p_balance_type => l_balance_type_code);
16409: ELSE
16410: NULL;
16411: XLA_AE_LINES_PKG.business_flow_validation(
16412: p_business_method_code => l_bflow_method_code
16413: ,p_business_class_code => l_bflow_class_code
16414: ,p_inherit_description_flag => l_inherit_desc_flag);
16415: END IF;
16454: xla_accounting_err_pkg.build_message
16455: (p_appli_s_name => 'XLA'
16456: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16457: ,p_token_1 => 'LINE_NUMBER'
16458: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16459: ,p_token_2 => 'LINE_TYPE_NAME'
16460: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16461: l_component_type
16462: ,l_component_code
16490: --
16491: --
16492: ------------------------------------------------------------------------------------------------
16493: -- 4219869 Business Flow
16494: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16495: -- Prior Entry. Currently, the following code is always generated.
16496: ------------------------------------------------------------------------------------------------
16497: -- No ValidateCurrentLine for business flow method of Prior Entry
16498:
16499: ------------------------------------------------------------------------------------
16500: -- 4219869 Business Flow
16501: -- Populated credit and debit amounts -- Need to generate this within IF
16502: ------------------------------------------------------------------------------------
16503: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16504:
16505: ----------------------------------------------------------------------------------
16506: -- 4219869 Business Flow
16507: -- Update journal entry status -- Need to generate this within IF
16531: -- To allow MPA report to determine if it should generate report process
16532: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16533: ------------------------------------------------------------------------------------------
16534:
16535: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16536: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16537:
16538: --
16539: -- Update the line information that should be overwritten
16532: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16533: ------------------------------------------------------------------------------------------
16534:
16535: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16536: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16537:
16538: --
16539: -- Update the line information that should be overwritten
16540: --
16537:
16538: --
16539: -- Update the line information that should be overwritten
16540: --
16541: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16542: p_header_num => 1);
16543: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16544:
16545: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16539: -- Update the line information that should be overwritten
16540: --
16541: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16542: p_header_num => 1);
16543: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16544:
16545: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16546:
16547: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16541: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16542: p_header_num => 1);
16543: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16544:
16545: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16546:
16547: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16548: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16549: END IF;
16544:
16545: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16546:
16547: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16548: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16549: END IF;
16550:
16551: --
16552: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16551: --
16552: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16553: --
16554: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16555: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16556: ELSE
16557: ---------------------------------------------------------------------------------------------------
16558: -- 4262811a Switch Sign
16559: ---------------------------------------------------------------------------------------------------
16556: ELSE
16557: ---------------------------------------------------------------------------------------------------
16558: -- 4262811a Switch Sign
16559: ---------------------------------------------------------------------------------------------------
16560: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16557: ---------------------------------------------------------------------------------------------------
16558: -- 4262811a Switch Sign
16559: ---------------------------------------------------------------------------------------------------
16560: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16558: -- 4262811a Switch Sign
16559: ---------------------------------------------------------------------------------------------------
16560: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16559: ---------------------------------------------------------------------------------------------------
16560: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16567: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16560: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16561: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16567: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16568:
16562: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16567: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16568:
16569: END IF;
16570:
16563: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16564: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16565: -- 5132302
16566: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16567: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16568:
16569: END IF;
16570:
16571: -- 4955764
16568:
16569: END IF;
16570:
16571: -- 4955764
16572: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16573: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16574:
16575:
16576: XLA_AE_LINES_PKG.ValidateCurrentLine;
16572: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16573: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16574:
16575:
16576: XLA_AE_LINES_PKG.ValidateCurrentLine;
16577: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16578:
16579: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16580: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16573: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16574:
16575:
16576: XLA_AE_LINES_PKG.ValidateCurrentLine;
16577: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16578:
16579: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16580: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16581: ,p_balance_type_code => l_balance_type_code);
16732: --
16733: -- bulk performance
16734: --
16735: l_balance_type_code VARCHAR2(1);
16736: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16737: l_log_module VARCHAR2(240);
16738:
16739: --
16740: -- Upgrade strategy
16819: ') = 'N'
16820: THEN
16821:
16822: --
16823: XLA_AE_LINES_PKG.SetNewLine;
16824:
16825: p_balance_type_code := l_balance_type_code;
16826: -- set the flag so later we will know whether the gain loss line needs to be created
16827:
16831:
16832: --
16833: -- bulk performance
16834: --
16835: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16836: p_header_num => 0); -- 4262811
16837: --
16838: -- set accounting line options
16839: --
16836: p_header_num => 0); -- 4262811
16837: --
16838: -- set accounting line options
16839: --
16840: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16841: p_natural_side_code => 'C'
16842: , p_gain_or_loss_flag => 'N'
16843: , p_gl_transfer_mode_code => 'S'
16844: , p_acct_entry_type_code => 'A'
16850: --
16851: --
16852: -- set accounting line type info
16853: --
16854: xla_ae_lines_pkg.SetAcctLineType
16855: (p_component_type => l_component_type
16856: ,p_event_type_code => l_event_type_code
16857: ,p_line_definition_owner_code => l_line_definition_owner_code
16858: ,p_line_definition_code => l_line_definition_code
16864: ,p_event_class_code => l_event_class_code);
16865: --
16866: -- set accounting class
16867: --
16868: xla_ae_lines_pkg.SetAcctClass(
16869: p_accounting_class_code => 'PURCHASE_ORDER'
16870: , p_ae_header_id => l_ae_header_id
16871: );
16872:
16872:
16873: --
16874: -- set rounding class
16875: --
16876: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16877: 'PURCHASE_ORDER';
16878:
16879: --
16880: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16876: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16877: 'PURCHASE_ORDER';
16878:
16879: --
16880: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16881: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16882: --
16883: -- bulk performance
16884: --
16877: 'PURCHASE_ORDER';
16878:
16879: --
16880: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16881: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16882: --
16883: -- bulk performance
16884: --
16885: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16881: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16882: --
16883: -- bulk performance
16884: --
16885: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16886:
16887: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16888: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16889:
16883: -- bulk performance
16884: --
16885: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16886:
16887: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16888: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16889:
16890: -- 4955764
16891: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16887: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16888: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16889:
16890: -- 4955764
16891: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16892: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16893:
16894: -- 4458381 Public Sector Enh
16895:
16977: l_rec_acct_attrs.array_num_value(33) := p_source_32;
16978: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
16979: l_rec_acct_attrs.array_num_value(34) := p_source_32;
16980:
16981: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16982: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16983:
16984: ---------------------------------------------------------------------------------------------------------------
16985: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16978: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
16979: l_rec_acct_attrs.array_num_value(34) := p_source_32;
16980:
16981: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16982: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16983:
16984: ---------------------------------------------------------------------------------------------------------------
16985: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16986: ---------------------------------------------------------------------------------------------------------------
16981: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16982: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16983:
16984: ---------------------------------------------------------------------------------------------------------------
16985: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16986: ---------------------------------------------------------------------------------------------------------------
16987: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16988:
16989: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16983:
16984: ---------------------------------------------------------------------------------------------------------------
16985: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16986: ---------------------------------------------------------------------------------------------------------------
16987: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16988:
16989: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16990: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16991:
16985: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16986: ---------------------------------------------------------------------------------------------------------------
16987: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16988:
16989: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16990: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16991:
16992: IF xla_accounting_cache_pkg.GetValueChar
16993: (p_source_code => 'LEDGER_CATEGORY_CODE'
16986: ---------------------------------------------------------------------------------------------------------------
16987: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16988:
16989: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16990: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16991:
16992: IF xla_accounting_cache_pkg.GetValueChar
16993: (p_source_code => 'LEDGER_CATEGORY_CODE'
16994: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16997: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16998: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16999: )
17000: THEN
17001: xla_ae_lines_pkg.BflowUpgEntry
17002: (p_business_method_code => l_bflow_method_code
17003: ,p_business_class_code => l_bflow_class_code
17004: ,p_balance_type => l_balance_type_code);
17005: ELSE
17014: --
17015: -- call description
17016: --
17017:
17018: xla_ae_lines_pkg.SetLineDescription(
17019: p_ae_header_id => l_ae_header_id
17020: ,p_description => Description_2 (
17021: p_application_id => p_application_id
17022: , p_ae_header_id => l_ae_header_id
17047: , x_value_type_code => l_adr_value_type_code
17048: , p_side => 'NA'
17049: );
17050:
17051: xla_ae_lines_pkg.set_ccid(
17052: p_code_combination_id => l_ccid
17053: , p_value_type_code => l_adr_value_type_code
17054: , p_transaction_coa_id => l_adr_transaction_coa_id
17055: , p_accounting_coa_id => l_adr_accounting_coa_id
17079: );
17080:
17081: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17082:
17083: xla_ae_lines_pkg.set_segment(
17084: p_to_segment_code => 'GL_ACCOUNT'
17085: , p_segment_value => l_segment
17086: , p_from_segment_code => l_adr_value_segment_code
17087: , p_from_combination_id => l_adr_value_combination_id
17123: xla_accounting_err_pkg.build_message
17124: (p_appli_s_name => 'XLA'
17125: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17126: ,p_token_1 => 'LINE_NUMBER'
17127: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17128: ,p_token_2 => 'LINE_TYPE_NAME'
17129: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17130: l_component_type
17131: ,l_component_code
17159: --
17160: --
17161: ------------------------------------------------------------------------------------------------
17162: -- 4219869 Business Flow
17163: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17164: -- Prior Entry. Currently, the following code is always generated.
17165: ------------------------------------------------------------------------------------------------
17166: XLA_AE_LINES_PKG.ValidateCurrentLine;
17167:
17162: -- 4219869 Business Flow
17163: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17164: -- Prior Entry. Currently, the following code is always generated.
17165: ------------------------------------------------------------------------------------------------
17166: XLA_AE_LINES_PKG.ValidateCurrentLine;
17167:
17168: ------------------------------------------------------------------------------------
17169: -- 4219869 Business Flow
17170: -- Populated credit and debit amounts -- Need to generate this within IF
17168: ------------------------------------------------------------------------------------
17169: -- 4219869 Business Flow
17170: -- Populated credit and debit amounts -- Need to generate this within IF
17171: ------------------------------------------------------------------------------------
17172: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17173:
17174: ----------------------------------------------------------------------------------
17175: -- 4219869 Business Flow
17176: -- Update journal entry status -- Need to generate this within IF
17200: -- To allow MPA report to determine if it should generate report process
17201: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17202: ------------------------------------------------------------------------------------------
17203:
17204: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17205: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17206:
17207: --
17208: -- Update the line information that should be overwritten
17201: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17202: ------------------------------------------------------------------------------------------
17203:
17204: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17205: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17206:
17207: --
17208: -- Update the line information that should be overwritten
17209: --
17206:
17207: --
17208: -- Update the line information that should be overwritten
17209: --
17210: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17211: p_header_num => 1);
17212: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17213:
17214: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17208: -- Update the line information that should be overwritten
17209: --
17210: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17211: p_header_num => 1);
17212: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17213:
17214: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17215:
17216: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17210: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17211: p_header_num => 1);
17212: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17213:
17214: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17215:
17216: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17217: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17218: END IF;
17213:
17214: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17215:
17216: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17217: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17218: END IF;
17219:
17220: --
17221: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17220: --
17221: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17222: --
17223: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17224: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17225: ELSE
17226: ---------------------------------------------------------------------------------------------------
17227: -- 4262811a Switch Sign
17228: ---------------------------------------------------------------------------------------------------
17225: ELSE
17226: ---------------------------------------------------------------------------------------------------
17227: -- 4262811a Switch Sign
17228: ---------------------------------------------------------------------------------------------------
17229: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17226: ---------------------------------------------------------------------------------------------------
17227: -- 4262811a Switch Sign
17228: ---------------------------------------------------------------------------------------------------
17229: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17227: -- 4262811a Switch Sign
17228: ---------------------------------------------------------------------------------------------------
17229: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17235: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17228: ---------------------------------------------------------------------------------------------------
17229: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17235: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17236: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17229: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17235: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17236: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17237:
17231: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17235: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17236: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17237:
17238: END IF;
17239:
17232: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17233: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17234: -- 5132302
17235: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17236: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17237:
17238: END IF;
17239:
17240: -- 4955764
17237:
17238: END IF;
17239:
17240: -- 4955764
17241: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17242: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17243:
17244:
17245: XLA_AE_LINES_PKG.ValidateCurrentLine;
17241: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17242: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17243:
17244:
17245: XLA_AE_LINES_PKG.ValidateCurrentLine;
17246: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17247:
17248: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17249: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17242: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17243:
17244:
17245: XLA_AE_LINES_PKG.ValidateCurrentLine;
17246: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17247:
17248: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17249: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17250: ,p_balance_type_code => l_balance_type_code);
17405: --
17406: -- bulk performance
17407: --
17408: l_balance_type_code VARCHAR2(1);
17409: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17410: l_log_module VARCHAR2(240);
17411:
17412: --
17413: -- Upgrade strategy
17492: ') = 'N'
17493: THEN
17494:
17495: --
17496: XLA_AE_LINES_PKG.SetNewLine;
17497:
17498: p_balance_type_code := l_balance_type_code;
17499: -- set the flag so later we will know whether the gain loss line needs to be created
17500:
17504:
17505: --
17506: -- bulk performance
17507: --
17508: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17509: p_header_num => 0); -- 4262811
17510: --
17511: -- set accounting line options
17512: --
17509: p_header_num => 0); -- 4262811
17510: --
17511: -- set accounting line options
17512: --
17513: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17514: p_natural_side_code => 'D'
17515: , p_gain_or_loss_flag => 'N'
17516: , p_gl_transfer_mode_code => 'S'
17517: , p_acct_entry_type_code => 'A'
17523: --
17524: --
17525: -- set accounting line type info
17526: --
17527: xla_ae_lines_pkg.SetAcctLineType
17528: (p_component_type => l_component_type
17529: ,p_event_type_code => l_event_type_code
17530: ,p_line_definition_owner_code => l_line_definition_owner_code
17531: ,p_line_definition_code => l_line_definition_code
17537: ,p_event_class_code => l_event_class_code);
17538: --
17539: -- set accounting class
17540: --
17541: xla_ae_lines_pkg.SetAcctClass(
17542: p_accounting_class_code => 'PURCHASE_ORDER'
17543: , p_ae_header_id => l_ae_header_id
17544: );
17545:
17545:
17546: --
17547: -- set rounding class
17548: --
17549: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17550: 'PURCHASE_ORDER';
17551:
17552: --
17553: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17549: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17550: 'PURCHASE_ORDER';
17551:
17552: --
17553: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17554: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17555: --
17556: -- bulk performance
17557: --
17550: 'PURCHASE_ORDER';
17551:
17552: --
17553: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17554: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17555: --
17556: -- bulk performance
17557: --
17558: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17554: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17555: --
17556: -- bulk performance
17557: --
17558: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17559:
17560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17561: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17562:
17556: -- bulk performance
17557: --
17558: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17559:
17560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17561: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17562:
17563: -- 4955764
17564: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17560: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17561: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17562:
17563: -- 4955764
17564: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17565: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17566:
17567: -- 4458381 Public Sector Enh
17568:
17650: l_rec_acct_attrs.array_num_value(33) := p_source_32;
17651: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
17652: l_rec_acct_attrs.array_num_value(34) := p_source_32;
17653:
17654: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17655: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17656:
17657: ---------------------------------------------------------------------------------------------------------------
17658: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17651: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
17652: l_rec_acct_attrs.array_num_value(34) := p_source_32;
17653:
17654: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17655: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17656:
17657: ---------------------------------------------------------------------------------------------------------------
17658: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17659: ---------------------------------------------------------------------------------------------------------------
17654: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17655: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17656:
17657: ---------------------------------------------------------------------------------------------------------------
17658: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17659: ---------------------------------------------------------------------------------------------------------------
17660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17661:
17662: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17656:
17657: ---------------------------------------------------------------------------------------------------------------
17658: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17659: ---------------------------------------------------------------------------------------------------------------
17660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17661:
17662: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17663: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17664:
17658: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17659: ---------------------------------------------------------------------------------------------------------------
17660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17661:
17662: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17663: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17664:
17665: IF xla_accounting_cache_pkg.GetValueChar
17666: (p_source_code => 'LEDGER_CATEGORY_CODE'
17659: ---------------------------------------------------------------------------------------------------------------
17660: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17661:
17662: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17663: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17664:
17665: IF xla_accounting_cache_pkg.GetValueChar
17666: (p_source_code => 'LEDGER_CATEGORY_CODE'
17667: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17670: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17671: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17672: )
17673: THEN
17674: xla_ae_lines_pkg.BflowUpgEntry
17675: (p_business_method_code => l_bflow_method_code
17676: ,p_business_class_code => l_bflow_class_code
17677: ,p_balance_type => l_balance_type_code);
17678: ELSE
17687: --
17688: -- call description
17689: --
17690:
17691: xla_ae_lines_pkg.SetLineDescription(
17692: p_ae_header_id => l_ae_header_id
17693: ,p_description => Description_2 (
17694: p_application_id => p_application_id
17695: , p_ae_header_id => l_ae_header_id
17720: , x_value_type_code => l_adr_value_type_code
17721: , p_side => 'NA'
17722: );
17723:
17724: xla_ae_lines_pkg.set_ccid(
17725: p_code_combination_id => l_ccid
17726: , p_value_type_code => l_adr_value_type_code
17727: , p_transaction_coa_id => l_adr_transaction_coa_id
17728: , p_accounting_coa_id => l_adr_accounting_coa_id
17754: );
17755:
17756: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17757:
17758: xla_ae_lines_pkg.set_segment(
17759: p_to_segment_code => 'GL_ACCOUNT'
17760: , p_segment_value => l_segment
17761: , p_from_segment_code => l_adr_value_segment_code
17762: , p_from_combination_id => l_adr_value_combination_id
17798: xla_accounting_err_pkg.build_message
17799: (p_appli_s_name => 'XLA'
17800: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17801: ,p_token_1 => 'LINE_NUMBER'
17802: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17803: ,p_token_2 => 'LINE_TYPE_NAME'
17804: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17805: l_component_type
17806: ,l_component_code
17834: --
17835: --
17836: ------------------------------------------------------------------------------------------------
17837: -- 4219869 Business Flow
17838: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17839: -- Prior Entry. Currently, the following code is always generated.
17840: ------------------------------------------------------------------------------------------------
17841: XLA_AE_LINES_PKG.ValidateCurrentLine;
17842:
17837: -- 4219869 Business Flow
17838: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17839: -- Prior Entry. Currently, the following code is always generated.
17840: ------------------------------------------------------------------------------------------------
17841: XLA_AE_LINES_PKG.ValidateCurrentLine;
17842:
17843: ------------------------------------------------------------------------------------
17844: -- 4219869 Business Flow
17845: -- Populated credit and debit amounts -- Need to generate this within IF
17843: ------------------------------------------------------------------------------------
17844: -- 4219869 Business Flow
17845: -- Populated credit and debit amounts -- Need to generate this within IF
17846: ------------------------------------------------------------------------------------
17847: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17848:
17849: ----------------------------------------------------------------------------------
17850: -- 4219869 Business Flow
17851: -- Update journal entry status -- Need to generate this within IF
17875: -- To allow MPA report to determine if it should generate report process
17876: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17877: ------------------------------------------------------------------------------------------
17878:
17879: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17880: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17881:
17882: --
17883: -- Update the line information that should be overwritten
17876: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17877: ------------------------------------------------------------------------------------------
17878:
17879: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17880: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17881:
17882: --
17883: -- Update the line information that should be overwritten
17884: --
17881:
17882: --
17883: -- Update the line information that should be overwritten
17884: --
17885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17886: p_header_num => 1);
17887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17888:
17889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17883: -- Update the line information that should be overwritten
17884: --
17885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17886: p_header_num => 1);
17887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17888:
17889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17890:
17891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17886: p_header_num => 1);
17887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17888:
17889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17890:
17891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17892: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17893: END IF;
17888:
17889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17890:
17891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17892: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17893: END IF;
17894:
17895: --
17896: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17895: --
17896: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17897: --
17898: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17899: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17900: ELSE
17901: ---------------------------------------------------------------------------------------------------
17902: -- 4262811a Switch Sign
17903: ---------------------------------------------------------------------------------------------------
17900: ELSE
17901: ---------------------------------------------------------------------------------------------------
17902: -- 4262811a Switch Sign
17903: ---------------------------------------------------------------------------------------------------
17904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17901: ---------------------------------------------------------------------------------------------------
17902: -- 4262811a Switch Sign
17903: ---------------------------------------------------------------------------------------------------
17904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17902: -- 4262811a Switch Sign
17903: ---------------------------------------------------------------------------------------------------
17904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17903: ---------------------------------------------------------------------------------------------------
17904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17912:
17906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17912:
17913: END IF;
17914:
17907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17909: -- 5132302
17910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17912:
17913: END IF;
17914:
17915: -- 4955764
17912:
17913: END IF;
17914:
17915: -- 4955764
17916: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17918:
17919:
17920: XLA_AE_LINES_PKG.ValidateCurrentLine;
17916: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17918:
17919:
17920: XLA_AE_LINES_PKG.ValidateCurrentLine;
17921: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17922:
17923: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17924: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17918:
17919:
17920: XLA_AE_LINES_PKG.ValidateCurrentLine;
17921: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17922:
17923: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17924: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17925: ,p_balance_type_code => l_balance_type_code);
18082: --
18083: -- bulk performance
18084: --
18085: l_balance_type_code VARCHAR2(1);
18086: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18087: l_log_module VARCHAR2(240);
18088:
18089: --
18090: -- Upgrade strategy
18162: ') = 'Y'
18163: THEN
18164:
18165: --
18166: XLA_AE_LINES_PKG.SetNewLine;
18167:
18168: p_balance_type_code := l_balance_type_code;
18169: -- set the flag so later we will know whether the gain loss line needs to be created
18170:
18174:
18175: --
18176: -- bulk performance
18177: --
18178: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18179: p_header_num => 0); -- 4262811
18180: --
18181: -- set accounting line options
18182: --
18179: p_header_num => 0); -- 4262811
18180: --
18181: -- set accounting line options
18182: --
18183: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18184: p_natural_side_code => 'C'
18185: , p_gain_or_loss_flag => 'N'
18186: , p_gl_transfer_mode_code => 'S'
18187: , p_acct_entry_type_code => 'A'
18193: --
18194: --
18195: -- set accounting line type info
18196: --
18197: xla_ae_lines_pkg.SetAcctLineType
18198: (p_component_type => l_component_type
18199: ,p_event_type_code => l_event_type_code
18200: ,p_line_definition_owner_code => l_line_definition_owner_code
18201: ,p_line_definition_code => l_line_definition_code
18207: ,p_event_class_code => l_event_class_code);
18208: --
18209: -- set accounting class
18210: --
18211: xla_ae_lines_pkg.SetAcctClass(
18212: p_accounting_class_code => 'PURCHASE_ORDER'
18213: , p_ae_header_id => l_ae_header_id
18214: );
18215:
18215:
18216: --
18217: -- set rounding class
18218: --
18219: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18220: 'PURCHASE_ORDER';
18221:
18222: --
18223: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18219: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18220: 'PURCHASE_ORDER';
18221:
18222: --
18223: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18224: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18225: --
18226: -- bulk performance
18227: --
18220: 'PURCHASE_ORDER';
18221:
18222: --
18223: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18224: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18225: --
18226: -- bulk performance
18227: --
18228: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18224: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18225: --
18226: -- bulk performance
18227: --
18228: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18229:
18230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18231: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18232:
18226: -- bulk performance
18227: --
18228: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18229:
18230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18231: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18232:
18233: -- 4955764
18234: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18230: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18231: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18232:
18233: -- 4955764
18234: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18235: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18236:
18237: -- 4458381 Public Sector Enh
18238:
18320: l_rec_acct_attrs.array_num_value(33) := p_source_32;
18321: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
18322: l_rec_acct_attrs.array_num_value(34) := p_source_32;
18323:
18324: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18325: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18326:
18327: ---------------------------------------------------------------------------------------------------------------
18328: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18321: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
18322: l_rec_acct_attrs.array_num_value(34) := p_source_32;
18323:
18324: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18325: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18326:
18327: ---------------------------------------------------------------------------------------------------------------
18328: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18329: ---------------------------------------------------------------------------------------------------------------
18324: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18325: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18326:
18327: ---------------------------------------------------------------------------------------------------------------
18328: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18329: ---------------------------------------------------------------------------------------------------------------
18330: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18331:
18332: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18326:
18327: ---------------------------------------------------------------------------------------------------------------
18328: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18329: ---------------------------------------------------------------------------------------------------------------
18330: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18331:
18332: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18333: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18334:
18328: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18329: ---------------------------------------------------------------------------------------------------------------
18330: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18331:
18332: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18333: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18334:
18335: IF xla_accounting_cache_pkg.GetValueChar
18336: (p_source_code => 'LEDGER_CATEGORY_CODE'
18329: ---------------------------------------------------------------------------------------------------------------
18330: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18331:
18332: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18333: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18334:
18335: IF xla_accounting_cache_pkg.GetValueChar
18336: (p_source_code => 'LEDGER_CATEGORY_CODE'
18337: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18340: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18341: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18342: )
18343: THEN
18344: xla_ae_lines_pkg.BflowUpgEntry
18345: (p_business_method_code => l_bflow_method_code
18346: ,p_business_class_code => l_bflow_class_code
18347: ,p_balance_type => l_balance_type_code);
18348: ELSE
18357: --
18358: -- call description
18359: --
18360:
18361: xla_ae_lines_pkg.SetLineDescription(
18362: p_ae_header_id => l_ae_header_id
18363: ,p_description => Description_2 (
18364: p_application_id => p_application_id
18365: , p_ae_header_id => l_ae_header_id
18390: , x_value_type_code => l_adr_value_type_code
18391: , p_side => 'NA'
18392: );
18393:
18394: xla_ae_lines_pkg.set_ccid(
18395: p_code_combination_id => l_ccid
18396: , p_value_type_code => l_adr_value_type_code
18397: , p_transaction_coa_id => l_adr_transaction_coa_id
18398: , p_accounting_coa_id => l_adr_accounting_coa_id
18426: );
18427:
18428: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18429:
18430: xla_ae_lines_pkg.set_segment(
18431: p_to_segment_code => 'GL_ACCOUNT'
18432: , p_segment_value => l_segment
18433: , p_from_segment_code => l_adr_value_segment_code
18434: , p_from_combination_id => l_adr_value_combination_id
18470: xla_accounting_err_pkg.build_message
18471: (p_appli_s_name => 'XLA'
18472: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18473: ,p_token_1 => 'LINE_NUMBER'
18474: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18475: ,p_token_2 => 'LINE_TYPE_NAME'
18476: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18477: l_component_type
18478: ,l_component_code
18506: --
18507: --
18508: ------------------------------------------------------------------------------------------------
18509: -- 4219869 Business Flow
18510: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18511: -- Prior Entry. Currently, the following code is always generated.
18512: ------------------------------------------------------------------------------------------------
18513: XLA_AE_LINES_PKG.ValidateCurrentLine;
18514:
18509: -- 4219869 Business Flow
18510: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18511: -- Prior Entry. Currently, the following code is always generated.
18512: ------------------------------------------------------------------------------------------------
18513: XLA_AE_LINES_PKG.ValidateCurrentLine;
18514:
18515: ------------------------------------------------------------------------------------
18516: -- 4219869 Business Flow
18517: -- Populated credit and debit amounts -- Need to generate this within IF
18515: ------------------------------------------------------------------------------------
18516: -- 4219869 Business Flow
18517: -- Populated credit and debit amounts -- Need to generate this within IF
18518: ------------------------------------------------------------------------------------
18519: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18520:
18521: ----------------------------------------------------------------------------------
18522: -- 4219869 Business Flow
18523: -- Update journal entry status -- Need to generate this within IF
18547: -- To allow MPA report to determine if it should generate report process
18548: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18549: ------------------------------------------------------------------------------------------
18550:
18551: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18552: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18553:
18554: --
18555: -- Update the line information that should be overwritten
18548: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18549: ------------------------------------------------------------------------------------------
18550:
18551: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18552: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18553:
18554: --
18555: -- Update the line information that should be overwritten
18556: --
18553:
18554: --
18555: -- Update the line information that should be overwritten
18556: --
18557: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18558: p_header_num => 1);
18559: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18560:
18561: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18555: -- Update the line information that should be overwritten
18556: --
18557: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18558: p_header_num => 1);
18559: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18560:
18561: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18562:
18563: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18557: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18558: p_header_num => 1);
18559: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18560:
18561: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18562:
18563: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18564: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18565: END IF;
18560:
18561: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18562:
18563: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18564: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18565: END IF;
18566:
18567: --
18568: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18567: --
18568: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18569: --
18570: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18571: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18572: ELSE
18573: ---------------------------------------------------------------------------------------------------
18574: -- 4262811a Switch Sign
18575: ---------------------------------------------------------------------------------------------------
18572: ELSE
18573: ---------------------------------------------------------------------------------------------------
18574: -- 4262811a Switch Sign
18575: ---------------------------------------------------------------------------------------------------
18576: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18577: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18573: ---------------------------------------------------------------------------------------------------
18574: -- 4262811a Switch Sign
18575: ---------------------------------------------------------------------------------------------------
18576: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18577: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18574: -- 4262811a Switch Sign
18575: ---------------------------------------------------------------------------------------------------
18576: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18577: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18582: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18575: ---------------------------------------------------------------------------------------------------
18576: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18577: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18582: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18583: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18576: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18577: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18582: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18583: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18584:
18578: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18582: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18583: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18584:
18585: END IF;
18586:
18579: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18580: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18581: -- 5132302
18582: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18583: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18584:
18585: END IF;
18586:
18587: -- 4955764
18584:
18585: END IF;
18586:
18587: -- 4955764
18588: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18589: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18590:
18591:
18592: XLA_AE_LINES_PKG.ValidateCurrentLine;
18588: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18589: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18590:
18591:
18592: XLA_AE_LINES_PKG.ValidateCurrentLine;
18593: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18594:
18595: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18596: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18589: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18590:
18591:
18592: XLA_AE_LINES_PKG.ValidateCurrentLine;
18593: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18594:
18595: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18596: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18597: ,p_balance_type_code => l_balance_type_code);
18744: --
18745: -- bulk performance
18746: --
18747: l_balance_type_code VARCHAR2(1);
18748: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18749: l_log_module VARCHAR2(240);
18750:
18751: --
18752: -- Upgrade strategy
18845: p_source_14 IS NULL )
18846: THEN
18847:
18848: --
18849: XLA_AE_LINES_PKG.SetNewLine;
18850:
18851: p_balance_type_code := l_balance_type_code;
18852: -- set the flag so later we will know whether the gain loss line needs to be created
18853:
18857:
18858: --
18859: -- bulk performance
18860: --
18861: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18862: p_header_num => 0); -- 4262811
18863: --
18864: -- set accounting line options
18865: --
18862: p_header_num => 0); -- 4262811
18863: --
18864: -- set accounting line options
18865: --
18866: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18867: p_natural_side_code => 'C'
18868: , p_gain_or_loss_flag => 'N'
18869: , p_gl_transfer_mode_code => 'S'
18870: , p_acct_entry_type_code => 'A'
18876: --
18877: --
18878: -- set accounting line type info
18879: --
18880: xla_ae_lines_pkg.SetAcctLineType
18881: (p_component_type => l_component_type
18882: ,p_event_type_code => l_event_type_code
18883: ,p_line_definition_owner_code => l_line_definition_owner_code
18884: ,p_line_definition_code => l_line_definition_code
18890: ,p_event_class_code => l_event_class_code);
18891: --
18892: -- set accounting class
18893: --
18894: xla_ae_lines_pkg.SetAcctClass(
18895: p_accounting_class_code => 'PURCHASE_ORDER'
18896: , p_ae_header_id => l_ae_header_id
18897: );
18898:
18898:
18899: --
18900: -- set rounding class
18901: --
18902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18903: 'PURCHASE_ORDER';
18904:
18905: --
18906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18903: 'PURCHASE_ORDER';
18904:
18905: --
18906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18908: --
18909: -- bulk performance
18910: --
18903: 'PURCHASE_ORDER';
18904:
18905: --
18906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18908: --
18909: -- bulk performance
18910: --
18911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18908: --
18909: -- bulk performance
18910: --
18911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18912:
18913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18915:
18909: -- bulk performance
18910: --
18911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18912:
18913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18915:
18916: -- 4955764
18917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18915:
18916: -- 4955764
18917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18918: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18919:
18920: -- 4458381 Public Sector Enh
18921:
18997: l_rec_acct_attrs.array_num_value(30) := p_source_32;
18998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
18999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
19000:
19001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19003:
19004: ---------------------------------------------------------------------------------------------------------------
19005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
18999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
19000:
19001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19003:
19004: ---------------------------------------------------------------------------------------------------------------
19005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19006: ---------------------------------------------------------------------------------------------------------------
19001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19003:
19004: ---------------------------------------------------------------------------------------------------------------
19005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19006: ---------------------------------------------------------------------------------------------------------------
19007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19008:
19009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19003:
19004: ---------------------------------------------------------------------------------------------------------------
19005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19006: ---------------------------------------------------------------------------------------------------------------
19007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19008:
19009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19011:
19005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19006: ---------------------------------------------------------------------------------------------------------------
19007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19008:
19009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19011:
19012: IF xla_accounting_cache_pkg.GetValueChar
19013: (p_source_code => 'LEDGER_CATEGORY_CODE'
19006: ---------------------------------------------------------------------------------------------------------------
19007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19008:
19009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19011:
19012: IF xla_accounting_cache_pkg.GetValueChar
19013: (p_source_code => 'LEDGER_CATEGORY_CODE'
19014: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19017: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19018: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19019: )
19020: THEN
19021: xla_ae_lines_pkg.BflowUpgEntry
19022: (p_business_method_code => l_bflow_method_code
19023: ,p_business_class_code => l_bflow_class_code
19024: ,p_balance_type => l_balance_type_code);
19025: ELSE
19023: ,p_business_class_code => l_bflow_class_code
19024: ,p_balance_type => l_balance_type_code);
19025: ELSE
19026: NULL;
19027: XLA_AE_LINES_PKG.business_flow_validation(
19028: p_business_method_code => l_bflow_method_code
19029: ,p_business_class_code => l_bflow_class_code
19030: ,p_inherit_description_flag => l_inherit_desc_flag);
19031: END IF;
19060: , x_value_type_code => l_adr_value_type_code
19061: , p_side => 'NA'
19062: );
19063:
19064: xla_ae_lines_pkg.set_ccid(
19065: p_code_combination_id => l_ccid
19066: , p_value_type_code => l_adr_value_type_code
19067: , p_transaction_coa_id => l_adr_transaction_coa_id
19068: , p_accounting_coa_id => l_adr_accounting_coa_id
19094: );
19095:
19096: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19097:
19098: xla_ae_lines_pkg.set_segment(
19099: p_to_segment_code => 'GL_ACCOUNT'
19100: , p_segment_value => l_segment
19101: , p_from_segment_code => l_adr_value_segment_code
19102: , p_from_combination_id => l_adr_value_combination_id
19138: xla_accounting_err_pkg.build_message
19139: (p_appli_s_name => 'XLA'
19140: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19141: ,p_token_1 => 'LINE_NUMBER'
19142: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19143: ,p_token_2 => 'LINE_TYPE_NAME'
19144: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19145: l_component_type
19146: ,l_component_code
19174: --
19175: --
19176: ------------------------------------------------------------------------------------------------
19177: -- 4219869 Business Flow
19178: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19179: -- Prior Entry. Currently, the following code is always generated.
19180: ------------------------------------------------------------------------------------------------
19181: -- No ValidateCurrentLine for business flow method of Prior Entry
19182:
19183: ------------------------------------------------------------------------------------
19184: -- 4219869 Business Flow
19185: -- Populated credit and debit amounts -- Need to generate this within IF
19186: ------------------------------------------------------------------------------------
19187: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19188:
19189: ----------------------------------------------------------------------------------
19190: -- 4219869 Business Flow
19191: -- Update journal entry status -- Need to generate this within IF
19215: -- To allow MPA report to determine if it should generate report process
19216: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19217: ------------------------------------------------------------------------------------------
19218:
19219: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19220: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19221:
19222: --
19223: -- Update the line information that should be overwritten
19216: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19217: ------------------------------------------------------------------------------------------
19218:
19219: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19220: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19221:
19222: --
19223: -- Update the line information that should be overwritten
19224: --
19221:
19222: --
19223: -- Update the line information that should be overwritten
19224: --
19225: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19226: p_header_num => 1);
19227: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19228:
19229: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19223: -- Update the line information that should be overwritten
19224: --
19225: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19226: p_header_num => 1);
19227: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19228:
19229: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19230:
19231: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19225: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19226: p_header_num => 1);
19227: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19228:
19229: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19230:
19231: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19232: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19233: END IF;
19228:
19229: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19230:
19231: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19232: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19233: END IF;
19234:
19235: --
19236: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19235: --
19236: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19237: --
19238: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19239: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19240: ELSE
19241: ---------------------------------------------------------------------------------------------------
19242: -- 4262811a Switch Sign
19243: ---------------------------------------------------------------------------------------------------
19240: ELSE
19241: ---------------------------------------------------------------------------------------------------
19242: -- 4262811a Switch Sign
19243: ---------------------------------------------------------------------------------------------------
19244: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19245: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19241: ---------------------------------------------------------------------------------------------------
19242: -- 4262811a Switch Sign
19243: ---------------------------------------------------------------------------------------------------
19244: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19245: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19242: -- 4262811a Switch Sign
19243: ---------------------------------------------------------------------------------------------------
19244: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19245: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19250: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19243: ---------------------------------------------------------------------------------------------------
19244: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19245: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19250: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19251: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19244: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19245: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19250: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19251: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19252:
19246: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19250: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19251: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19252:
19253: END IF;
19254:
19247: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19248: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19249: -- 5132302
19250: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19251: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19252:
19253: END IF;
19254:
19255: -- 4955764
19252:
19253: END IF;
19254:
19255: -- 4955764
19256: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19257: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19258:
19259:
19260: XLA_AE_LINES_PKG.ValidateCurrentLine;
19256: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19257: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19258:
19259:
19260: XLA_AE_LINES_PKG.ValidateCurrentLine;
19261: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19262:
19263: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19264: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19257: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19258:
19259:
19260: XLA_AE_LINES_PKG.ValidateCurrentLine;
19261: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19262:
19263: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19264: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19265: ,p_balance_type_code => l_balance_type_code);
19406: --
19407: -- bulk performance
19408: --
19409: l_balance_type_code VARCHAR2(1);
19410: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19411: l_log_module VARCHAR2(240);
19412:
19413: --
19414: -- Upgrade strategy
19507: p_source_17 IS NULL )
19508: THEN
19509:
19510: --
19511: XLA_AE_LINES_PKG.SetNewLine;
19512:
19513: p_balance_type_code := l_balance_type_code;
19514: -- set the flag so later we will know whether the gain loss line needs to be created
19515:
19519:
19520: --
19521: -- bulk performance
19522: --
19523: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19524: p_header_num => 0); -- 4262811
19525: --
19526: -- set accounting line options
19527: --
19524: p_header_num => 0); -- 4262811
19525: --
19526: -- set accounting line options
19527: --
19528: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19529: p_natural_side_code => 'D'
19530: , p_gain_or_loss_flag => 'N'
19531: , p_gl_transfer_mode_code => 'S'
19532: , p_acct_entry_type_code => 'A'
19538: --
19539: --
19540: -- set accounting line type info
19541: --
19542: xla_ae_lines_pkg.SetAcctLineType
19543: (p_component_type => l_component_type
19544: ,p_event_type_code => l_event_type_code
19545: ,p_line_definition_owner_code => l_line_definition_owner_code
19546: ,p_line_definition_code => l_line_definition_code
19552: ,p_event_class_code => l_event_class_code);
19553: --
19554: -- set accounting class
19555: --
19556: xla_ae_lines_pkg.SetAcctClass(
19557: p_accounting_class_code => 'PURCHASE_ORDER'
19558: , p_ae_header_id => l_ae_header_id
19559: );
19560:
19560:
19561: --
19562: -- set rounding class
19563: --
19564: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19565: 'PURCHASE_ORDER';
19566:
19567: --
19568: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19564: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19565: 'PURCHASE_ORDER';
19566:
19567: --
19568: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19569: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19570: --
19571: -- bulk performance
19572: --
19565: 'PURCHASE_ORDER';
19566:
19567: --
19568: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19569: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19570: --
19571: -- bulk performance
19572: --
19573: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19569: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19570: --
19571: -- bulk performance
19572: --
19573: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19574:
19575: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19576: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19577:
19571: -- bulk performance
19572: --
19573: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19574:
19575: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19576: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19577:
19578: -- 4955764
19579: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19575: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19576: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19577:
19578: -- 4955764
19579: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19580: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19581:
19582: -- 4458381 Public Sector Enh
19583:
19659: l_rec_acct_attrs.array_num_value(30) := p_source_32;
19660: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
19661: l_rec_acct_attrs.array_num_value(31) := p_source_32;
19662:
19663: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19664: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19665:
19666: ---------------------------------------------------------------------------------------------------------------
19667: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19660: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
19661: l_rec_acct_attrs.array_num_value(31) := p_source_32;
19662:
19663: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19664: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19665:
19666: ---------------------------------------------------------------------------------------------------------------
19667: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19668: ---------------------------------------------------------------------------------------------------------------
19663: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19664: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19665:
19666: ---------------------------------------------------------------------------------------------------------------
19667: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19668: ---------------------------------------------------------------------------------------------------------------
19669: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19670:
19671: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19665:
19666: ---------------------------------------------------------------------------------------------------------------
19667: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19668: ---------------------------------------------------------------------------------------------------------------
19669: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19670:
19671: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19672: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19673:
19667: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19668: ---------------------------------------------------------------------------------------------------------------
19669: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19670:
19671: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19672: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19673:
19674: IF xla_accounting_cache_pkg.GetValueChar
19675: (p_source_code => 'LEDGER_CATEGORY_CODE'
19668: ---------------------------------------------------------------------------------------------------------------
19669: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19670:
19671: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19672: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19673:
19674: IF xla_accounting_cache_pkg.GetValueChar
19675: (p_source_code => 'LEDGER_CATEGORY_CODE'
19676: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19679: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19680: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19681: )
19682: THEN
19683: xla_ae_lines_pkg.BflowUpgEntry
19684: (p_business_method_code => l_bflow_method_code
19685: ,p_business_class_code => l_bflow_class_code
19686: ,p_balance_type => l_balance_type_code);
19687: ELSE
19685: ,p_business_class_code => l_bflow_class_code
19686: ,p_balance_type => l_balance_type_code);
19687: ELSE
19688: NULL;
19689: XLA_AE_LINES_PKG.business_flow_validation(
19690: p_business_method_code => l_bflow_method_code
19691: ,p_business_class_code => l_bflow_class_code
19692: ,p_inherit_description_flag => l_inherit_desc_flag);
19693: END IF;
19722: , x_value_type_code => l_adr_value_type_code
19723: , p_side => 'NA'
19724: );
19725:
19726: xla_ae_lines_pkg.set_ccid(
19727: p_code_combination_id => l_ccid
19728: , p_value_type_code => l_adr_value_type_code
19729: , p_transaction_coa_id => l_adr_transaction_coa_id
19730: , p_accounting_coa_id => l_adr_accounting_coa_id
19754: );
19755:
19756: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19757:
19758: xla_ae_lines_pkg.set_segment(
19759: p_to_segment_code => 'GL_ACCOUNT'
19760: , p_segment_value => l_segment
19761: , p_from_segment_code => l_adr_value_segment_code
19762: , p_from_combination_id => l_adr_value_combination_id
19798: xla_accounting_err_pkg.build_message
19799: (p_appli_s_name => 'XLA'
19800: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19801: ,p_token_1 => 'LINE_NUMBER'
19802: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19803: ,p_token_2 => 'LINE_TYPE_NAME'
19804: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19805: l_component_type
19806: ,l_component_code
19834: --
19835: --
19836: ------------------------------------------------------------------------------------------------
19837: -- 4219869 Business Flow
19838: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19839: -- Prior Entry. Currently, the following code is always generated.
19840: ------------------------------------------------------------------------------------------------
19841: -- No ValidateCurrentLine for business flow method of Prior Entry
19842:
19843: ------------------------------------------------------------------------------------
19844: -- 4219869 Business Flow
19845: -- Populated credit and debit amounts -- Need to generate this within IF
19846: ------------------------------------------------------------------------------------
19847: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19848:
19849: ----------------------------------------------------------------------------------
19850: -- 4219869 Business Flow
19851: -- Update journal entry status -- Need to generate this within IF
19875: -- To allow MPA report to determine if it should generate report process
19876: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19877: ------------------------------------------------------------------------------------------
19878:
19879: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19880: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19881:
19882: --
19883: -- Update the line information that should be overwritten
19876: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19877: ------------------------------------------------------------------------------------------
19878:
19879: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19880: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19881:
19882: --
19883: -- Update the line information that should be overwritten
19884: --
19881:
19882: --
19883: -- Update the line information that should be overwritten
19884: --
19885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19886: p_header_num => 1);
19887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19888:
19889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19883: -- Update the line information that should be overwritten
19884: --
19885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19886: p_header_num => 1);
19887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19888:
19889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19890:
19891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19885: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19886: p_header_num => 1);
19887: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19888:
19889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19890:
19891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19892: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19893: END IF;
19888:
19889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19890:
19891: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19892: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19893: END IF;
19894:
19895: --
19896: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19895: --
19896: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19897: --
19898: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19899: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19900: ELSE
19901: ---------------------------------------------------------------------------------------------------
19902: -- 4262811a Switch Sign
19903: ---------------------------------------------------------------------------------------------------
19900: ELSE
19901: ---------------------------------------------------------------------------------------------------
19902: -- 4262811a Switch Sign
19903: ---------------------------------------------------------------------------------------------------
19904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19901: ---------------------------------------------------------------------------------------------------
19902: -- 4262811a Switch Sign
19903: ---------------------------------------------------------------------------------------------------
19904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19902: -- 4262811a Switch Sign
19903: ---------------------------------------------------------------------------------------------------
19904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19903: ---------------------------------------------------------------------------------------------------
19904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19904: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19905: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19912:
19906: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19912:
19913: END IF;
19914:
19907: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19908: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19909: -- 5132302
19910: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19911: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19912:
19913: END IF;
19914:
19915: -- 4955764
19912:
19913: END IF;
19914:
19915: -- 4955764
19916: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19918:
19919:
19920: XLA_AE_LINES_PKG.ValidateCurrentLine;
19916: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19918:
19919:
19920: XLA_AE_LINES_PKG.ValidateCurrentLine;
19921: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19922:
19923: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19924: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19917: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19918:
19919:
19920: XLA_AE_LINES_PKG.ValidateCurrentLine;
19921: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19922:
19923: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19924: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19925: ,p_balance_type_code => l_balance_type_code);
20068: --
20069: -- bulk performance
20070: --
20071: l_balance_type_code VARCHAR2(1);
20072: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20073: l_log_module VARCHAR2(240);
20074:
20075: --
20076: -- Upgrade strategy
20150: ') = 'B_PA'
20151: THEN
20152:
20153: --
20154: XLA_AE_LINES_PKG.SetNewLine;
20155:
20156: p_balance_type_code := l_balance_type_code;
20157: -- set the flag so later we will know whether the gain loss line needs to be created
20158:
20162:
20163: --
20164: -- bulk performance
20165: --
20166: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20167: p_header_num => 0); -- 4262811
20168: --
20169: -- set accounting line options
20170: --
20167: p_header_num => 0); -- 4262811
20168: --
20169: -- set accounting line options
20170: --
20171: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20172: p_natural_side_code => 'C'
20173: , p_gain_or_loss_flag => 'N'
20174: , p_gl_transfer_mode_code => 'S'
20175: , p_acct_entry_type_code => 'A'
20181: --
20182: --
20183: -- set accounting line type info
20184: --
20185: xla_ae_lines_pkg.SetAcctLineType
20186: (p_component_type => l_component_type
20187: ,p_event_type_code => l_event_type_code
20188: ,p_line_definition_owner_code => l_line_definition_owner_code
20189: ,p_line_definition_code => l_line_definition_code
20195: ,p_event_class_code => l_event_class_code);
20196: --
20197: -- set accounting class
20198: --
20199: xla_ae_lines_pkg.SetAcctClass(
20200: p_accounting_class_code => 'REQUISITION'
20201: , p_ae_header_id => l_ae_header_id
20202: );
20203:
20203:
20204: --
20205: -- set rounding class
20206: --
20207: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20208: 'REQUISITION';
20209:
20210: --
20211: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20207: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20208: 'REQUISITION';
20209:
20210: --
20211: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20212: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20213: --
20214: -- bulk performance
20215: --
20208: 'REQUISITION';
20209:
20210: --
20211: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20212: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20213: --
20214: -- bulk performance
20215: --
20216: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20212: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20213: --
20214: -- bulk performance
20215: --
20216: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20217:
20218: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20219: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20220:
20214: -- bulk performance
20215: --
20216: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20217:
20218: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20219: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20220:
20221: -- 4955764
20222: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20218: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20219: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20220:
20221: -- 4955764
20222: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20223: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20224:
20225: -- 4458381 Public Sector Enh
20226:
20302: l_rec_acct_attrs.array_num_value(30) := p_source_32;
20303: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
20304: l_rec_acct_attrs.array_num_value(31) := p_source_32;
20305:
20306: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20307: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20308:
20309: ---------------------------------------------------------------------------------------------------------------
20310: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20303: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
20304: l_rec_acct_attrs.array_num_value(31) := p_source_32;
20305:
20306: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20307: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20308:
20309: ---------------------------------------------------------------------------------------------------------------
20310: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20311: ---------------------------------------------------------------------------------------------------------------
20306: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20307: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20308:
20309: ---------------------------------------------------------------------------------------------------------------
20310: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20311: ---------------------------------------------------------------------------------------------------------------
20312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20313:
20314: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20308:
20309: ---------------------------------------------------------------------------------------------------------------
20310: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20311: ---------------------------------------------------------------------------------------------------------------
20312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20313:
20314: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20315: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20316:
20310: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20311: ---------------------------------------------------------------------------------------------------------------
20312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20313:
20314: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20315: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20316:
20317: IF xla_accounting_cache_pkg.GetValueChar
20318: (p_source_code => 'LEDGER_CATEGORY_CODE'
20311: ---------------------------------------------------------------------------------------------------------------
20312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20313:
20314: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20315: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20316:
20317: IF xla_accounting_cache_pkg.GetValueChar
20318: (p_source_code => 'LEDGER_CATEGORY_CODE'
20319: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20322: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20323: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20324: )
20325: THEN
20326: xla_ae_lines_pkg.BflowUpgEntry
20327: (p_business_method_code => l_bflow_method_code
20328: ,p_business_class_code => l_bflow_class_code
20329: ,p_balance_type => l_balance_type_code);
20330: ELSE
20328: ,p_business_class_code => l_bflow_class_code
20329: ,p_balance_type => l_balance_type_code);
20330: ELSE
20331: NULL;
20332: XLA_AE_LINES_PKG.business_flow_validation(
20333: p_business_method_code => l_bflow_method_code
20334: ,p_business_class_code => l_bflow_class_code
20335: ,p_inherit_description_flag => l_inherit_desc_flag);
20336: END IF;
20375: xla_accounting_err_pkg.build_message
20376: (p_appli_s_name => 'XLA'
20377: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20378: ,p_token_1 => 'LINE_NUMBER'
20379: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20380: ,p_token_2 => 'LINE_TYPE_NAME'
20381: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20382: l_component_type
20383: ,l_component_code
20411: --
20412: --
20413: ------------------------------------------------------------------------------------------------
20414: -- 4219869 Business Flow
20415: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20416: -- Prior Entry. Currently, the following code is always generated.
20417: ------------------------------------------------------------------------------------------------
20418: -- No ValidateCurrentLine for business flow method of Prior Entry
20419:
20420: ------------------------------------------------------------------------------------
20421: -- 4219869 Business Flow
20422: -- Populated credit and debit amounts -- Need to generate this within IF
20423: ------------------------------------------------------------------------------------
20424: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20425:
20426: ----------------------------------------------------------------------------------
20427: -- 4219869 Business Flow
20428: -- Update journal entry status -- Need to generate this within IF
20452: -- To allow MPA report to determine if it should generate report process
20453: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20454: ------------------------------------------------------------------------------------------
20455:
20456: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20457: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20458:
20459: --
20460: -- Update the line information that should be overwritten
20453: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20454: ------------------------------------------------------------------------------------------
20455:
20456: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20457: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20458:
20459: --
20460: -- Update the line information that should be overwritten
20461: --
20458:
20459: --
20460: -- Update the line information that should be overwritten
20461: --
20462: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20463: p_header_num => 1);
20464: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20465:
20466: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20460: -- Update the line information that should be overwritten
20461: --
20462: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20463: p_header_num => 1);
20464: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20465:
20466: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20467:
20468: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20462: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20463: p_header_num => 1);
20464: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20465:
20466: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20467:
20468: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20469: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20470: END IF;
20465:
20466: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20467:
20468: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20469: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20470: END IF;
20471:
20472: --
20473: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20472: --
20473: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20474: --
20475: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20476: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20477: ELSE
20478: ---------------------------------------------------------------------------------------------------
20479: -- 4262811a Switch Sign
20480: ---------------------------------------------------------------------------------------------------
20477: ELSE
20478: ---------------------------------------------------------------------------------------------------
20479: -- 4262811a Switch Sign
20480: ---------------------------------------------------------------------------------------------------
20481: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20482: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20478: ---------------------------------------------------------------------------------------------------
20479: -- 4262811a Switch Sign
20480: ---------------------------------------------------------------------------------------------------
20481: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20482: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20479: -- 4262811a Switch Sign
20480: ---------------------------------------------------------------------------------------------------
20481: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20482: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20487: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20480: ---------------------------------------------------------------------------------------------------
20481: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20482: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20487: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20488: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20481: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20482: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20487: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20488: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20489:
20483: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20487: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20488: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20489:
20490: END IF;
20491:
20484: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20485: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20486: -- 5132302
20487: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20488: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20489:
20490: END IF;
20491:
20492: -- 4955764
20489:
20490: END IF;
20491:
20492: -- 4955764
20493: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20494: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20495:
20496:
20497: XLA_AE_LINES_PKG.ValidateCurrentLine;
20493: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20494: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20495:
20496:
20497: XLA_AE_LINES_PKG.ValidateCurrentLine;
20498: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20499:
20500: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20501: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20494: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20495:
20496:
20497: XLA_AE_LINES_PKG.ValidateCurrentLine;
20498: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20499:
20500: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20501: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20502: ,p_balance_type_code => l_balance_type_code);
20645: --
20646: -- bulk performance
20647: --
20648: l_balance_type_code VARCHAR2(1);
20649: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20650: l_log_module VARCHAR2(240);
20651:
20652: --
20653: -- Upgrade strategy
20727: ') = 'B_PA'
20728: THEN
20729:
20730: --
20731: XLA_AE_LINES_PKG.SetNewLine;
20732:
20733: p_balance_type_code := l_balance_type_code;
20734: -- set the flag so later we will know whether the gain loss line needs to be created
20735:
20739:
20740: --
20741: -- bulk performance
20742: --
20743: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20744: p_header_num => 0); -- 4262811
20745: --
20746: -- set accounting line options
20747: --
20744: p_header_num => 0); -- 4262811
20745: --
20746: -- set accounting line options
20747: --
20748: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20749: p_natural_side_code => 'D'
20750: , p_gain_or_loss_flag => 'N'
20751: , p_gl_transfer_mode_code => 'S'
20752: , p_acct_entry_type_code => 'A'
20758: --
20759: --
20760: -- set accounting line type info
20761: --
20762: xla_ae_lines_pkg.SetAcctLineType
20763: (p_component_type => l_component_type
20764: ,p_event_type_code => l_event_type_code
20765: ,p_line_definition_owner_code => l_line_definition_owner_code
20766: ,p_line_definition_code => l_line_definition_code
20772: ,p_event_class_code => l_event_class_code);
20773: --
20774: -- set accounting class
20775: --
20776: xla_ae_lines_pkg.SetAcctClass(
20777: p_accounting_class_code => 'PURCHASE_ORDER'
20778: , p_ae_header_id => l_ae_header_id
20779: );
20780:
20780:
20781: --
20782: -- set rounding class
20783: --
20784: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20785: 'PURCHASE_ORDER';
20786:
20787: --
20788: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20784: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20785: 'PURCHASE_ORDER';
20786:
20787: --
20788: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20789: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20790: --
20791: -- bulk performance
20792: --
20785: 'PURCHASE_ORDER';
20786:
20787: --
20788: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20789: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20790: --
20791: -- bulk performance
20792: --
20793: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20789: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20790: --
20791: -- bulk performance
20792: --
20793: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20794:
20795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20796: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20797:
20791: -- bulk performance
20792: --
20793: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20794:
20795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20796: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20797:
20798: -- 4955764
20799: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20795: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20796: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20797:
20798: -- 4955764
20799: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20800: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20801:
20802: -- 4458381 Public Sector Enh
20803:
20879: l_rec_acct_attrs.array_num_value(30) := p_source_32;
20880: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
20881: l_rec_acct_attrs.array_num_value(31) := p_source_32;
20882:
20883: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20884: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20885:
20886: ---------------------------------------------------------------------------------------------------------------
20887: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20880: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
20881: l_rec_acct_attrs.array_num_value(31) := p_source_32;
20882:
20883: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20884: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20885:
20886: ---------------------------------------------------------------------------------------------------------------
20887: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20888: ---------------------------------------------------------------------------------------------------------------
20883: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20884: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20885:
20886: ---------------------------------------------------------------------------------------------------------------
20887: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20888: ---------------------------------------------------------------------------------------------------------------
20889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20890:
20891: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20885:
20886: ---------------------------------------------------------------------------------------------------------------
20887: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20888: ---------------------------------------------------------------------------------------------------------------
20889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20890:
20891: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20892: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20893:
20887: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20888: ---------------------------------------------------------------------------------------------------------------
20889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20890:
20891: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20892: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20893:
20894: IF xla_accounting_cache_pkg.GetValueChar
20895: (p_source_code => 'LEDGER_CATEGORY_CODE'
20888: ---------------------------------------------------------------------------------------------------------------
20889: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20890:
20891: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20892: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20893:
20894: IF xla_accounting_cache_pkg.GetValueChar
20895: (p_source_code => 'LEDGER_CATEGORY_CODE'
20896: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20899: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20900: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20901: )
20902: THEN
20903: xla_ae_lines_pkg.BflowUpgEntry
20904: (p_business_method_code => l_bflow_method_code
20905: ,p_business_class_code => l_bflow_class_code
20906: ,p_balance_type => l_balance_type_code);
20907: ELSE
20905: ,p_business_class_code => l_bflow_class_code
20906: ,p_balance_type => l_balance_type_code);
20907: ELSE
20908: NULL;
20909: XLA_AE_LINES_PKG.business_flow_validation(
20910: p_business_method_code => l_bflow_method_code
20911: ,p_business_class_code => l_bflow_class_code
20912: ,p_inherit_description_flag => l_inherit_desc_flag);
20913: END IF;
20952: xla_accounting_err_pkg.build_message
20953: (p_appli_s_name => 'XLA'
20954: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20955: ,p_token_1 => 'LINE_NUMBER'
20956: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20957: ,p_token_2 => 'LINE_TYPE_NAME'
20958: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20959: l_component_type
20960: ,l_component_code
20988: --
20989: --
20990: ------------------------------------------------------------------------------------------------
20991: -- 4219869 Business Flow
20992: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20993: -- Prior Entry. Currently, the following code is always generated.
20994: ------------------------------------------------------------------------------------------------
20995: -- No ValidateCurrentLine for business flow method of Prior Entry
20996:
20997: ------------------------------------------------------------------------------------
20998: -- 4219869 Business Flow
20999: -- Populated credit and debit amounts -- Need to generate this within IF
21000: ------------------------------------------------------------------------------------
21001: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21002:
21003: ----------------------------------------------------------------------------------
21004: -- 4219869 Business Flow
21005: -- Update journal entry status -- Need to generate this within IF
21029: -- To allow MPA report to determine if it should generate report process
21030: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21031: ------------------------------------------------------------------------------------------
21032:
21033: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21034: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21035:
21036: --
21037: -- Update the line information that should be overwritten
21030: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21031: ------------------------------------------------------------------------------------------
21032:
21033: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21034: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21035:
21036: --
21037: -- Update the line information that should be overwritten
21038: --
21035:
21036: --
21037: -- Update the line information that should be overwritten
21038: --
21039: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21040: p_header_num => 1);
21041: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21042:
21043: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21037: -- Update the line information that should be overwritten
21038: --
21039: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21040: p_header_num => 1);
21041: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21042:
21043: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21044:
21045: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21039: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21040: p_header_num => 1);
21041: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21042:
21043: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21044:
21045: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21046: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21047: END IF;
21042:
21043: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21044:
21045: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21046: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21047: END IF;
21048:
21049: --
21050: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21049: --
21050: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21051: --
21052: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21053: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21054: ELSE
21055: ---------------------------------------------------------------------------------------------------
21056: -- 4262811a Switch Sign
21057: ---------------------------------------------------------------------------------------------------
21054: ELSE
21055: ---------------------------------------------------------------------------------------------------
21056: -- 4262811a Switch Sign
21057: ---------------------------------------------------------------------------------------------------
21058: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21059: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21055: ---------------------------------------------------------------------------------------------------
21056: -- 4262811a Switch Sign
21057: ---------------------------------------------------------------------------------------------------
21058: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21059: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21056: -- 4262811a Switch Sign
21057: ---------------------------------------------------------------------------------------------------
21058: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21059: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21064: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21057: ---------------------------------------------------------------------------------------------------
21058: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21059: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21064: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21065: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21058: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21059: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21064: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21065: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21066:
21060: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21064: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21065: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21066:
21067: END IF;
21068:
21061: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21062: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21063: -- 5132302
21064: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21065: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21066:
21067: END IF;
21068:
21069: -- 4955764
21066:
21067: END IF;
21068:
21069: -- 4955764
21070: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21071: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21072:
21073:
21074: XLA_AE_LINES_PKG.ValidateCurrentLine;
21070: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21071: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21072:
21073:
21074: XLA_AE_LINES_PKG.ValidateCurrentLine;
21075: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21076:
21077: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21078: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21071: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21072:
21073:
21074: XLA_AE_LINES_PKG.ValidateCurrentLine;
21075: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21076:
21077: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21078: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21079: ,p_balance_type_code => l_balance_type_code);
21232: --
21233: -- bulk performance
21234: --
21235: l_balance_type_code VARCHAR2(1);
21236: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21237: l_log_module VARCHAR2(240);
21238:
21239: --
21240: -- Upgrade strategy
21314: ') = 'B_REQ'
21315: THEN
21316:
21317: --
21318: XLA_AE_LINES_PKG.SetNewLine;
21319:
21320: p_balance_type_code := l_balance_type_code;
21321: -- set the flag so later we will know whether the gain loss line needs to be created
21322:
21326:
21327: --
21328: -- bulk performance
21329: --
21330: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21331: p_header_num => 0); -- 4262811
21332: --
21333: -- set accounting line options
21334: --
21331: p_header_num => 0); -- 4262811
21332: --
21333: -- set accounting line options
21334: --
21335: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21336: p_natural_side_code => 'C'
21337: , p_gain_or_loss_flag => 'N'
21338: , p_gl_transfer_mode_code => 'S'
21339: , p_acct_entry_type_code => 'A'
21345: --
21346: --
21347: -- set accounting line type info
21348: --
21349: xla_ae_lines_pkg.SetAcctLineType
21350: (p_component_type => l_component_type
21351: ,p_event_type_code => l_event_type_code
21352: ,p_line_definition_owner_code => l_line_definition_owner_code
21353: ,p_line_definition_code => l_line_definition_code
21359: ,p_event_class_code => l_event_class_code);
21360: --
21361: -- set accounting class
21362: --
21363: xla_ae_lines_pkg.SetAcctClass(
21364: p_accounting_class_code => 'REQUISITION'
21365: , p_ae_header_id => l_ae_header_id
21366: );
21367:
21367:
21368: --
21369: -- set rounding class
21370: --
21371: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21372: 'REQUISITION';
21373:
21374: --
21375: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21371: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21372: 'REQUISITION';
21373:
21374: --
21375: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21376: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21377: --
21378: -- bulk performance
21379: --
21372: 'REQUISITION';
21373:
21374: --
21375: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21376: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21377: --
21378: -- bulk performance
21379: --
21380: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21376: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21377: --
21378: -- bulk performance
21379: --
21380: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21381:
21382: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21383: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21384:
21378: -- bulk performance
21379: --
21380: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21381:
21382: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21383: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21384:
21385: -- 4955764
21386: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21382: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21383: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21384:
21385: -- 4955764
21386: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21387: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21388:
21389: -- 4458381 Public Sector Enh
21390:
21472: l_rec_acct_attrs.array_num_value(33) := p_source_32;
21473: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
21474: l_rec_acct_attrs.array_num_value(34) := p_source_32;
21475:
21476: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21477: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21478:
21479: ---------------------------------------------------------------------------------------------------------------
21480: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21473: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
21474: l_rec_acct_attrs.array_num_value(34) := p_source_32;
21475:
21476: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21477: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21478:
21479: ---------------------------------------------------------------------------------------------------------------
21480: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21481: ---------------------------------------------------------------------------------------------------------------
21476: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21477: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21478:
21479: ---------------------------------------------------------------------------------------------------------------
21480: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21481: ---------------------------------------------------------------------------------------------------------------
21482: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21483:
21484: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21478:
21479: ---------------------------------------------------------------------------------------------------------------
21480: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21481: ---------------------------------------------------------------------------------------------------------------
21482: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21483:
21484: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21485: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21486:
21480: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21481: ---------------------------------------------------------------------------------------------------------------
21482: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21483:
21484: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21485: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21486:
21487: IF xla_accounting_cache_pkg.GetValueChar
21488: (p_source_code => 'LEDGER_CATEGORY_CODE'
21481: ---------------------------------------------------------------------------------------------------------------
21482: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21483:
21484: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21485: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21486:
21487: IF xla_accounting_cache_pkg.GetValueChar
21488: (p_source_code => 'LEDGER_CATEGORY_CODE'
21489: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21492: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21493: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21494: )
21495: THEN
21496: xla_ae_lines_pkg.BflowUpgEntry
21497: (p_business_method_code => l_bflow_method_code
21498: ,p_business_class_code => l_bflow_class_code
21499: ,p_balance_type => l_balance_type_code);
21500: ELSE
21509: --
21510: -- call description
21511: --
21512:
21513: xla_ae_lines_pkg.SetLineDescription(
21514: p_ae_header_id => l_ae_header_id
21515: ,p_description => Description_2 (
21516: p_application_id => p_application_id
21517: , p_ae_header_id => l_ae_header_id
21542: , x_value_type_code => l_adr_value_type_code
21543: , p_side => 'NA'
21544: );
21545:
21546: xla_ae_lines_pkg.set_ccid(
21547: p_code_combination_id => l_ccid
21548: , p_value_type_code => l_adr_value_type_code
21549: , p_transaction_coa_id => l_adr_transaction_coa_id
21550: , p_accounting_coa_id => l_adr_accounting_coa_id
21575: );
21576:
21577: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21578:
21579: xla_ae_lines_pkg.set_segment(
21580: p_to_segment_code => 'GL_ACCOUNT'
21581: , p_segment_value => l_segment
21582: , p_from_segment_code => l_adr_value_segment_code
21583: , p_from_combination_id => l_adr_value_combination_id
21619: xla_accounting_err_pkg.build_message
21620: (p_appli_s_name => 'XLA'
21621: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21622: ,p_token_1 => 'LINE_NUMBER'
21623: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21624: ,p_token_2 => 'LINE_TYPE_NAME'
21625: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21626: l_component_type
21627: ,l_component_code
21655: --
21656: --
21657: ------------------------------------------------------------------------------------------------
21658: -- 4219869 Business Flow
21659: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21660: -- Prior Entry. Currently, the following code is always generated.
21661: ------------------------------------------------------------------------------------------------
21662: XLA_AE_LINES_PKG.ValidateCurrentLine;
21663:
21658: -- 4219869 Business Flow
21659: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21660: -- Prior Entry. Currently, the following code is always generated.
21661: ------------------------------------------------------------------------------------------------
21662: XLA_AE_LINES_PKG.ValidateCurrentLine;
21663:
21664: ------------------------------------------------------------------------------------
21665: -- 4219869 Business Flow
21666: -- Populated credit and debit amounts -- Need to generate this within IF
21664: ------------------------------------------------------------------------------------
21665: -- 4219869 Business Flow
21666: -- Populated credit and debit amounts -- Need to generate this within IF
21667: ------------------------------------------------------------------------------------
21668: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21669:
21670: ----------------------------------------------------------------------------------
21671: -- 4219869 Business Flow
21672: -- Update journal entry status -- Need to generate this within IF
21696: -- To allow MPA report to determine if it should generate report process
21697: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21698: ------------------------------------------------------------------------------------------
21699:
21700: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21701: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21702:
21703: --
21704: -- Update the line information that should be overwritten
21697: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21698: ------------------------------------------------------------------------------------------
21699:
21700: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21701: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21702:
21703: --
21704: -- Update the line information that should be overwritten
21705: --
21702:
21703: --
21704: -- Update the line information that should be overwritten
21705: --
21706: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21707: p_header_num => 1);
21708: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21709:
21710: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21704: -- Update the line information that should be overwritten
21705: --
21706: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21707: p_header_num => 1);
21708: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21709:
21710: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21711:
21712: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21706: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21707: p_header_num => 1);
21708: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21709:
21710: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21711:
21712: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21713: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21714: END IF;
21709:
21710: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21711:
21712: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21713: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21714: END IF;
21715:
21716: --
21717: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21716: --
21717: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21718: --
21719: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21720: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21721: ELSE
21722: ---------------------------------------------------------------------------------------------------
21723: -- 4262811a Switch Sign
21724: ---------------------------------------------------------------------------------------------------
21721: ELSE
21722: ---------------------------------------------------------------------------------------------------
21723: -- 4262811a Switch Sign
21724: ---------------------------------------------------------------------------------------------------
21725: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21722: ---------------------------------------------------------------------------------------------------
21723: -- 4262811a Switch Sign
21724: ---------------------------------------------------------------------------------------------------
21725: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21723: -- 4262811a Switch Sign
21724: ---------------------------------------------------------------------------------------------------
21725: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21731: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21724: ---------------------------------------------------------------------------------------------------
21725: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21731: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21732: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21725: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21726: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21731: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21732: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21733:
21727: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21731: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21732: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21733:
21734: END IF;
21735:
21728: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21729: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21730: -- 5132302
21731: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21732: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21733:
21734: END IF;
21735:
21736: -- 4955764
21733:
21734: END IF;
21735:
21736: -- 4955764
21737: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21738: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21739:
21740:
21741: XLA_AE_LINES_PKG.ValidateCurrentLine;
21737: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21738: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21739:
21740:
21741: XLA_AE_LINES_PKG.ValidateCurrentLine;
21742: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21743:
21744: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21745: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21738: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21739:
21740:
21741: XLA_AE_LINES_PKG.ValidateCurrentLine;
21742: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21743:
21744: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21745: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21746: ,p_balance_type_code => l_balance_type_code);
21901: --
21902: -- bulk performance
21903: --
21904: l_balance_type_code VARCHAR2(1);
21905: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21906: l_log_module VARCHAR2(240);
21907:
21908: --
21909: -- Upgrade strategy
21976: ') = 'B_REQ'
21977: THEN
21978:
21979: --
21980: XLA_AE_LINES_PKG.SetNewLine;
21981:
21982: p_balance_type_code := l_balance_type_code;
21983: -- set the flag so later we will know whether the gain loss line needs to be created
21984:
21988:
21989: --
21990: -- bulk performance
21991: --
21992: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21993: p_header_num => 0); -- 4262811
21994: --
21995: -- set accounting line options
21996: --
21993: p_header_num => 0); -- 4262811
21994: --
21995: -- set accounting line options
21996: --
21997: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21998: p_natural_side_code => 'D'
21999: , p_gain_or_loss_flag => 'N'
22000: , p_gl_transfer_mode_code => 'S'
22001: , p_acct_entry_type_code => 'A'
22007: --
22008: --
22009: -- set accounting line type info
22010: --
22011: xla_ae_lines_pkg.SetAcctLineType
22012: (p_component_type => l_component_type
22013: ,p_event_type_code => l_event_type_code
22014: ,p_line_definition_owner_code => l_line_definition_owner_code
22015: ,p_line_definition_code => l_line_definition_code
22021: ,p_event_class_code => l_event_class_code);
22022: --
22023: -- set accounting class
22024: --
22025: xla_ae_lines_pkg.SetAcctClass(
22026: p_accounting_class_code => 'REQUISITION'
22027: , p_ae_header_id => l_ae_header_id
22028: );
22029:
22029:
22030: --
22031: -- set rounding class
22032: --
22033: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22034: 'REQUISITION';
22035:
22036: --
22037: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22033: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22034: 'REQUISITION';
22035:
22036: --
22037: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22038: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22039: --
22040: -- bulk performance
22041: --
22034: 'REQUISITION';
22035:
22036: --
22037: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22038: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22039: --
22040: -- bulk performance
22041: --
22042: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22038: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22039: --
22040: -- bulk performance
22041: --
22042: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22043:
22044: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22045: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22046:
22040: -- bulk performance
22041: --
22042: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22043:
22044: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22045: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22046:
22047: -- 4955764
22048: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22044: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22045: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22046:
22047: -- 4955764
22048: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22049: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22050:
22051: -- 4458381 Public Sector Enh
22052:
22134: l_rec_acct_attrs.array_num_value(33) := p_source_32;
22135: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
22136: l_rec_acct_attrs.array_num_value(34) := p_source_32;
22137:
22138: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22139: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22140:
22141: ---------------------------------------------------------------------------------------------------------------
22142: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22135: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
22136: l_rec_acct_attrs.array_num_value(34) := p_source_32;
22137:
22138: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22139: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22140:
22141: ---------------------------------------------------------------------------------------------------------------
22142: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22143: ---------------------------------------------------------------------------------------------------------------
22138: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22139: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22140:
22141: ---------------------------------------------------------------------------------------------------------------
22142: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22143: ---------------------------------------------------------------------------------------------------------------
22144: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22145:
22146: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22140:
22141: ---------------------------------------------------------------------------------------------------------------
22142: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22143: ---------------------------------------------------------------------------------------------------------------
22144: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22145:
22146: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22147: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22148:
22142: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22143: ---------------------------------------------------------------------------------------------------------------
22144: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22145:
22146: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22147: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22148:
22149: IF xla_accounting_cache_pkg.GetValueChar
22150: (p_source_code => 'LEDGER_CATEGORY_CODE'
22143: ---------------------------------------------------------------------------------------------------------------
22144: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22145:
22146: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22147: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22148:
22149: IF xla_accounting_cache_pkg.GetValueChar
22150: (p_source_code => 'LEDGER_CATEGORY_CODE'
22151: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22154: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22155: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22156: )
22157: THEN
22158: xla_ae_lines_pkg.BflowUpgEntry
22159: (p_business_method_code => l_bflow_method_code
22160: ,p_business_class_code => l_bflow_class_code
22161: ,p_balance_type => l_balance_type_code);
22162: ELSE
22171: --
22172: -- call description
22173: --
22174:
22175: xla_ae_lines_pkg.SetLineDescription(
22176: p_ae_header_id => l_ae_header_id
22177: ,p_description => Description_2 (
22178: p_application_id => p_application_id
22179: , p_ae_header_id => l_ae_header_id
22204: , x_value_type_code => l_adr_value_type_code
22205: , p_side => 'NA'
22206: );
22207:
22208: xla_ae_lines_pkg.set_ccid(
22209: p_code_combination_id => l_ccid
22210: , p_value_type_code => l_adr_value_type_code
22211: , p_transaction_coa_id => l_adr_transaction_coa_id
22212: , p_accounting_coa_id => l_adr_accounting_coa_id
22238: );
22239:
22240: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22241:
22242: xla_ae_lines_pkg.set_segment(
22243: p_to_segment_code => 'GL_ACCOUNT'
22244: , p_segment_value => l_segment
22245: , p_from_segment_code => l_adr_value_segment_code
22246: , p_from_combination_id => l_adr_value_combination_id
22282: xla_accounting_err_pkg.build_message
22283: (p_appli_s_name => 'XLA'
22284: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22285: ,p_token_1 => 'LINE_NUMBER'
22286: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22287: ,p_token_2 => 'LINE_TYPE_NAME'
22288: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22289: l_component_type
22290: ,l_component_code
22318: --
22319: --
22320: ------------------------------------------------------------------------------------------------
22321: -- 4219869 Business Flow
22322: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22323: -- Prior Entry. Currently, the following code is always generated.
22324: ------------------------------------------------------------------------------------------------
22325: XLA_AE_LINES_PKG.ValidateCurrentLine;
22326:
22321: -- 4219869 Business Flow
22322: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22323: -- Prior Entry. Currently, the following code is always generated.
22324: ------------------------------------------------------------------------------------------------
22325: XLA_AE_LINES_PKG.ValidateCurrentLine;
22326:
22327: ------------------------------------------------------------------------------------
22328: -- 4219869 Business Flow
22329: -- Populated credit and debit amounts -- Need to generate this within IF
22327: ------------------------------------------------------------------------------------
22328: -- 4219869 Business Flow
22329: -- Populated credit and debit amounts -- Need to generate this within IF
22330: ------------------------------------------------------------------------------------
22331: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22332:
22333: ----------------------------------------------------------------------------------
22334: -- 4219869 Business Flow
22335: -- Update journal entry status -- Need to generate this within IF
22359: -- To allow MPA report to determine if it should generate report process
22360: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22361: ------------------------------------------------------------------------------------------
22362:
22363: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22364: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22365:
22366: --
22367: -- Update the line information that should be overwritten
22360: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22361: ------------------------------------------------------------------------------------------
22362:
22363: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22364: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22365:
22366: --
22367: -- Update the line information that should be overwritten
22368: --
22365:
22366: --
22367: -- Update the line information that should be overwritten
22368: --
22369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22370: p_header_num => 1);
22371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22372:
22373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22367: -- Update the line information that should be overwritten
22368: --
22369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22370: p_header_num => 1);
22371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22372:
22373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22374:
22375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22369: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22370: p_header_num => 1);
22371: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22372:
22373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22374:
22375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22376: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22377: END IF;
22372:
22373: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22374:
22375: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22376: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22377: END IF;
22378:
22379: --
22380: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22379: --
22380: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22381: --
22382: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22383: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22384: ELSE
22385: ---------------------------------------------------------------------------------------------------
22386: -- 4262811a Switch Sign
22387: ---------------------------------------------------------------------------------------------------
22384: ELSE
22385: ---------------------------------------------------------------------------------------------------
22386: -- 4262811a Switch Sign
22387: ---------------------------------------------------------------------------------------------------
22388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22385: ---------------------------------------------------------------------------------------------------
22386: -- 4262811a Switch Sign
22387: ---------------------------------------------------------------------------------------------------
22388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22386: -- 4262811a Switch Sign
22387: ---------------------------------------------------------------------------------------------------
22388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22387: ---------------------------------------------------------------------------------------------------
22388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22388: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22389: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22396:
22390: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22396:
22397: END IF;
22398:
22391: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22392: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22393: -- 5132302
22394: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22395: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22396:
22397: END IF;
22398:
22399: -- 4955764
22396:
22397: END IF;
22398:
22399: -- 4955764
22400: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22402:
22403:
22404: XLA_AE_LINES_PKG.ValidateCurrentLine;
22400: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22402:
22403:
22404: XLA_AE_LINES_PKG.ValidateCurrentLine;
22405: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22406:
22407: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22408: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22401: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22402:
22403:
22404: XLA_AE_LINES_PKG.ValidateCurrentLine;
22405: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22406:
22407: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22408: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22409: ,p_balance_type_code => l_balance_type_code);
22546: --
22547: -- bulk performance
22548: --
22549: l_balance_type_code VARCHAR2(1);
22550: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22551: l_log_module VARCHAR2(240);
22552:
22553: --
22554: -- Upgrade strategy
22628: ') = 'M'
22629: THEN
22630:
22631: --
22632: XLA_AE_LINES_PKG.SetNewLine;
22633:
22634: p_balance_type_code := l_balance_type_code;
22635: -- set the flag so later we will know whether the gain loss line needs to be created
22636:
22640:
22641: --
22642: -- bulk performance
22643: --
22644: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22645: p_header_num => 0); -- 4262811
22646: --
22647: -- set accounting line options
22648: --
22645: p_header_num => 0); -- 4262811
22646: --
22647: -- set accounting line options
22648: --
22649: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22650: p_natural_side_code => 'C'
22651: , p_gain_or_loss_flag => 'N'
22652: , p_gl_transfer_mode_code => 'S'
22653: , p_acct_entry_type_code => 'A'
22659: --
22660: --
22661: -- set accounting line type info
22662: --
22663: xla_ae_lines_pkg.SetAcctLineType
22664: (p_component_type => l_component_type
22665: ,p_event_type_code => l_event_type_code
22666: ,p_line_definition_owner_code => l_line_definition_owner_code
22667: ,p_line_definition_code => l_line_definition_code
22673: ,p_event_class_code => l_event_class_code);
22674: --
22675: -- set accounting class
22676: --
22677: xla_ae_lines_pkg.SetAcctClass(
22678: p_accounting_class_code => 'PURCHASE_ORDER'
22679: , p_ae_header_id => l_ae_header_id
22680: );
22681:
22681:
22682: --
22683: -- set rounding class
22684: --
22685: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22686: 'PURCHASE_ORDER';
22687:
22688: --
22689: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22685: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22686: 'PURCHASE_ORDER';
22687:
22688: --
22689: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22690: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22691: --
22692: -- bulk performance
22693: --
22686: 'PURCHASE_ORDER';
22687:
22688: --
22689: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22690: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22691: --
22692: -- bulk performance
22693: --
22694: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22690: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22691: --
22692: -- bulk performance
22693: --
22694: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22695:
22696: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22697: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22698:
22692: -- bulk performance
22693: --
22694: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22695:
22696: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22697: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22698:
22699: -- 4955764
22700: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22696: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22697: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22698:
22699: -- 4955764
22700: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22701: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22702:
22703: -- 4458381 Public Sector Enh
22704:
22776: l_rec_acct_attrs.array_num_value(28) := p_source_32;
22777: l_rec_acct_attrs.array_acct_attr_code(29) := 'UPG_DR_ENC_TYPE_ID';
22778: l_rec_acct_attrs.array_num_value(29) := p_source_32;
22779:
22780: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22781: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22782:
22783: ---------------------------------------------------------------------------------------------------------------
22784: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22777: l_rec_acct_attrs.array_acct_attr_code(29) := 'UPG_DR_ENC_TYPE_ID';
22778: l_rec_acct_attrs.array_num_value(29) := p_source_32;
22779:
22780: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22781: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22782:
22783: ---------------------------------------------------------------------------------------------------------------
22784: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22785: ---------------------------------------------------------------------------------------------------------------
22780: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22781: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22782:
22783: ---------------------------------------------------------------------------------------------------------------
22784: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22785: ---------------------------------------------------------------------------------------------------------------
22786: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22787:
22788: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22782:
22783: ---------------------------------------------------------------------------------------------------------------
22784: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22785: ---------------------------------------------------------------------------------------------------------------
22786: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22787:
22788: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22789: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22790:
22784: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22785: ---------------------------------------------------------------------------------------------------------------
22786: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22787:
22788: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22789: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22790:
22791: IF xla_accounting_cache_pkg.GetValueChar
22792: (p_source_code => 'LEDGER_CATEGORY_CODE'
22785: ---------------------------------------------------------------------------------------------------------------
22786: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22787:
22788: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22789: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22790:
22791: IF xla_accounting_cache_pkg.GetValueChar
22792: (p_source_code => 'LEDGER_CATEGORY_CODE'
22793: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22796: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22797: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22798: )
22799: THEN
22800: xla_ae_lines_pkg.BflowUpgEntry
22801: (p_business_method_code => l_bflow_method_code
22802: ,p_business_class_code => l_bflow_class_code
22803: ,p_balance_type => l_balance_type_code);
22804: ELSE
22802: ,p_business_class_code => l_bflow_class_code
22803: ,p_balance_type => l_balance_type_code);
22804: ELSE
22805: NULL;
22806: XLA_AE_LINES_PKG.business_flow_validation(
22807: p_business_method_code => l_bflow_method_code
22808: ,p_business_class_code => l_bflow_class_code
22809: ,p_inherit_description_flag => l_inherit_desc_flag);
22810: END IF;
22849: xla_accounting_err_pkg.build_message
22850: (p_appli_s_name => 'XLA'
22851: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22852: ,p_token_1 => 'LINE_NUMBER'
22853: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22854: ,p_token_2 => 'LINE_TYPE_NAME'
22855: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22856: l_component_type
22857: ,l_component_code
22885: --
22886: --
22887: ------------------------------------------------------------------------------------------------
22888: -- 4219869 Business Flow
22889: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22890: -- Prior Entry. Currently, the following code is always generated.
22891: ------------------------------------------------------------------------------------------------
22892: -- No ValidateCurrentLine for business flow method of Prior Entry
22893:
22894: ------------------------------------------------------------------------------------
22895: -- 4219869 Business Flow
22896: -- Populated credit and debit amounts -- Need to generate this within IF
22897: ------------------------------------------------------------------------------------
22898: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22899:
22900: ----------------------------------------------------------------------------------
22901: -- 4219869 Business Flow
22902: -- Update journal entry status -- Need to generate this within IF
22926: -- To allow MPA report to determine if it should generate report process
22927: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22928: ------------------------------------------------------------------------------------------
22929:
22930: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22931: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22932:
22933: --
22934: -- Update the line information that should be overwritten
22927: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22928: ------------------------------------------------------------------------------------------
22929:
22930: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22931: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22932:
22933: --
22934: -- Update the line information that should be overwritten
22935: --
22932:
22933: --
22934: -- Update the line information that should be overwritten
22935: --
22936: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22937: p_header_num => 1);
22938: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22939:
22940: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22934: -- Update the line information that should be overwritten
22935: --
22936: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22937: p_header_num => 1);
22938: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22939:
22940: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22941:
22942: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22936: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22937: p_header_num => 1);
22938: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22939:
22940: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22941:
22942: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22943: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22944: END IF;
22939:
22940: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22941:
22942: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22943: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22944: END IF;
22945:
22946: --
22947: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22946: --
22947: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22948: --
22949: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22950: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22951: ELSE
22952: ---------------------------------------------------------------------------------------------------
22953: -- 4262811a Switch Sign
22954: ---------------------------------------------------------------------------------------------------
22951: ELSE
22952: ---------------------------------------------------------------------------------------------------
22953: -- 4262811a Switch Sign
22954: ---------------------------------------------------------------------------------------------------
22955: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22956: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22952: ---------------------------------------------------------------------------------------------------
22953: -- 4262811a Switch Sign
22954: ---------------------------------------------------------------------------------------------------
22955: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22956: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22953: -- 4262811a Switch Sign
22954: ---------------------------------------------------------------------------------------------------
22955: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22956: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22961: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22954: ---------------------------------------------------------------------------------------------------
22955: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22956: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22961: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22962: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22955: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22956: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22961: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22962: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22963:
22957: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22961: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22962: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22963:
22964: END IF;
22965:
22958: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22959: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22960: -- 5132302
22961: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22962: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22963:
22964: END IF;
22965:
22966: -- 4955764
22963:
22964: END IF;
22965:
22966: -- 4955764
22967: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22968: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22969:
22970:
22971: XLA_AE_LINES_PKG.ValidateCurrentLine;
22967: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22968: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22969:
22970:
22971: XLA_AE_LINES_PKG.ValidateCurrentLine;
22972: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22973:
22974: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22975: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22968: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22969:
22970:
22971: XLA_AE_LINES_PKG.ValidateCurrentLine;
22972: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22973:
22974: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22975: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22976: ,p_balance_type_code => l_balance_type_code);
23113: --
23114: -- bulk performance
23115: --
23116: l_balance_type_code VARCHAR2(1);
23117: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23118: l_log_module VARCHAR2(240);
23119:
23120: --
23121: -- Upgrade strategy
23195: ') = 'M'
23196: THEN
23197:
23198: --
23199: XLA_AE_LINES_PKG.SetNewLine;
23200:
23201: p_balance_type_code := l_balance_type_code;
23202: -- set the flag so later we will know whether the gain loss line needs to be created
23203:
23207:
23208: --
23209: -- bulk performance
23210: --
23211: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23212: p_header_num => 0); -- 4262811
23213: --
23214: -- set accounting line options
23215: --
23212: p_header_num => 0); -- 4262811
23213: --
23214: -- set accounting line options
23215: --
23216: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23217: p_natural_side_code => 'D'
23218: , p_gain_or_loss_flag => 'N'
23219: , p_gl_transfer_mode_code => 'S'
23220: , p_acct_entry_type_code => 'A'
23226: --
23227: --
23228: -- set accounting line type info
23229: --
23230: xla_ae_lines_pkg.SetAcctLineType
23231: (p_component_type => l_component_type
23232: ,p_event_type_code => l_event_type_code
23233: ,p_line_definition_owner_code => l_line_definition_owner_code
23234: ,p_line_definition_code => l_line_definition_code
23240: ,p_event_class_code => l_event_class_code);
23241: --
23242: -- set accounting class
23243: --
23244: xla_ae_lines_pkg.SetAcctClass(
23245: p_accounting_class_code => 'PURCHASE_ORDER'
23246: , p_ae_header_id => l_ae_header_id
23247: );
23248:
23248:
23249: --
23250: -- set rounding class
23251: --
23252: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23253: 'PURCHASE_ORDER';
23254:
23255: --
23256: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23252: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23253: 'PURCHASE_ORDER';
23254:
23255: --
23256: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23257: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23258: --
23259: -- bulk performance
23260: --
23253: 'PURCHASE_ORDER';
23254:
23255: --
23256: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23257: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23258: --
23259: -- bulk performance
23260: --
23261: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23257: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23258: --
23259: -- bulk performance
23260: --
23261: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23262:
23263: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23264: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23265:
23259: -- bulk performance
23260: --
23261: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23262:
23263: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23264: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23265:
23266: -- 4955764
23267: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23263: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23264: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23265:
23266: -- 4955764
23267: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23268: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23269:
23270: -- 4458381 Public Sector Enh
23271:
23343: l_rec_acct_attrs.array_num_value(28) := p_source_32;
23344: l_rec_acct_attrs.array_acct_attr_code(29) := 'UPG_DR_ENC_TYPE_ID';
23345: l_rec_acct_attrs.array_num_value(29) := p_source_32;
23346:
23347: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23348: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23349:
23350: ---------------------------------------------------------------------------------------------------------------
23351: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23344: l_rec_acct_attrs.array_acct_attr_code(29) := 'UPG_DR_ENC_TYPE_ID';
23345: l_rec_acct_attrs.array_num_value(29) := p_source_32;
23346:
23347: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23348: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23349:
23350: ---------------------------------------------------------------------------------------------------------------
23351: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23352: ---------------------------------------------------------------------------------------------------------------
23347: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23348: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23349:
23350: ---------------------------------------------------------------------------------------------------------------
23351: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23352: ---------------------------------------------------------------------------------------------------------------
23353: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23354:
23355: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23349:
23350: ---------------------------------------------------------------------------------------------------------------
23351: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23352: ---------------------------------------------------------------------------------------------------------------
23353: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23354:
23355: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23356: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23357:
23351: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23352: ---------------------------------------------------------------------------------------------------------------
23353: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23354:
23355: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23356: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23357:
23358: IF xla_accounting_cache_pkg.GetValueChar
23359: (p_source_code => 'LEDGER_CATEGORY_CODE'
23352: ---------------------------------------------------------------------------------------------------------------
23353: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23354:
23355: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23356: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23357:
23358: IF xla_accounting_cache_pkg.GetValueChar
23359: (p_source_code => 'LEDGER_CATEGORY_CODE'
23360: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23363: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23364: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23365: )
23366: THEN
23367: xla_ae_lines_pkg.BflowUpgEntry
23368: (p_business_method_code => l_bflow_method_code
23369: ,p_business_class_code => l_bflow_class_code
23370: ,p_balance_type => l_balance_type_code);
23371: ELSE
23369: ,p_business_class_code => l_bflow_class_code
23370: ,p_balance_type => l_balance_type_code);
23371: ELSE
23372: NULL;
23373: XLA_AE_LINES_PKG.business_flow_validation(
23374: p_business_method_code => l_bflow_method_code
23375: ,p_business_class_code => l_bflow_class_code
23376: ,p_inherit_description_flag => l_inherit_desc_flag);
23377: END IF;
23416: xla_accounting_err_pkg.build_message
23417: (p_appli_s_name => 'XLA'
23418: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23419: ,p_token_1 => 'LINE_NUMBER'
23420: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23421: ,p_token_2 => 'LINE_TYPE_NAME'
23422: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23423: l_component_type
23424: ,l_component_code
23452: --
23453: --
23454: ------------------------------------------------------------------------------------------------
23455: -- 4219869 Business Flow
23456: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23457: -- Prior Entry. Currently, the following code is always generated.
23458: ------------------------------------------------------------------------------------------------
23459: -- No ValidateCurrentLine for business flow method of Prior Entry
23460:
23461: ------------------------------------------------------------------------------------
23462: -- 4219869 Business Flow
23463: -- Populated credit and debit amounts -- Need to generate this within IF
23464: ------------------------------------------------------------------------------------
23465: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23466:
23467: ----------------------------------------------------------------------------------
23468: -- 4219869 Business Flow
23469: -- Update journal entry status -- Need to generate this within IF
23493: -- To allow MPA report to determine if it should generate report process
23494: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23495: ------------------------------------------------------------------------------------------
23496:
23497: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23498: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23499:
23500: --
23501: -- Update the line information that should be overwritten
23494: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23495: ------------------------------------------------------------------------------------------
23496:
23497: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23498: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23499:
23500: --
23501: -- Update the line information that should be overwritten
23502: --
23499:
23500: --
23501: -- Update the line information that should be overwritten
23502: --
23503: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23504: p_header_num => 1);
23505: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23506:
23507: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23501: -- Update the line information that should be overwritten
23502: --
23503: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23504: p_header_num => 1);
23505: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23506:
23507: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23508:
23509: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23503: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23504: p_header_num => 1);
23505: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23506:
23507: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23508:
23509: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23510: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23511: END IF;
23506:
23507: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23508:
23509: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23510: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23511: END IF;
23512:
23513: --
23514: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23513: --
23514: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23515: --
23516: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23517: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23518: ELSE
23519: ---------------------------------------------------------------------------------------------------
23520: -- 4262811a Switch Sign
23521: ---------------------------------------------------------------------------------------------------
23518: ELSE
23519: ---------------------------------------------------------------------------------------------------
23520: -- 4262811a Switch Sign
23521: ---------------------------------------------------------------------------------------------------
23522: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23523: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23519: ---------------------------------------------------------------------------------------------------
23520: -- 4262811a Switch Sign
23521: ---------------------------------------------------------------------------------------------------
23522: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23523: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23520: -- 4262811a Switch Sign
23521: ---------------------------------------------------------------------------------------------------
23522: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23523: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23528: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23521: ---------------------------------------------------------------------------------------------------
23522: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23523: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23528: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23529: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23522: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23523: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23528: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23529: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23530:
23524: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23528: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23529: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23530:
23531: END IF;
23532:
23525: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23526: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23527: -- 5132302
23528: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23529: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23530:
23531: END IF;
23532:
23533: -- 4955764
23530:
23531: END IF;
23532:
23533: -- 4955764
23534: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23535: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23536:
23537:
23538: XLA_AE_LINES_PKG.ValidateCurrentLine;
23534: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23535: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23536:
23537:
23538: XLA_AE_LINES_PKG.ValidateCurrentLine;
23539: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23540:
23541: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23542: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23535: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23536:
23537:
23538: XLA_AE_LINES_PKG.ValidateCurrentLine;
23539: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23540:
23541: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23542: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23543: ,p_balance_type_code => l_balance_type_code);
23696: --
23697: -- bulk performance
23698: --
23699: l_balance_type_code VARCHAR2(1);
23700: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23701: l_log_module VARCHAR2(240);
23702:
23703: --
23704: -- Upgrade strategy
23773: ') = 'Y'
23774: THEN
23775:
23776: --
23777: XLA_AE_LINES_PKG.SetNewLine;
23778:
23779: p_balance_type_code := l_balance_type_code;
23780: -- set the flag so later we will know whether the gain loss line needs to be created
23781:
23785:
23786: --
23787: -- bulk performance
23788: --
23789: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23790: p_header_num => 0); -- 4262811
23791: --
23792: -- set accounting line options
23793: --
23790: p_header_num => 0); -- 4262811
23791: --
23792: -- set accounting line options
23793: --
23794: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23795: p_natural_side_code => 'D'
23796: , p_gain_or_loss_flag => 'N'
23797: , p_gl_transfer_mode_code => 'S'
23798: , p_acct_entry_type_code => 'A'
23804: --
23805: --
23806: -- set accounting line type info
23807: --
23808: xla_ae_lines_pkg.SetAcctLineType
23809: (p_component_type => l_component_type
23810: ,p_event_type_code => l_event_type_code
23811: ,p_line_definition_owner_code => l_line_definition_owner_code
23812: ,p_line_definition_code => l_line_definition_code
23818: ,p_event_class_code => l_event_class_code);
23819: --
23820: -- set accounting class
23821: --
23822: xla_ae_lines_pkg.SetAcctClass(
23823: p_accounting_class_code => 'PURCHASE_ORDER'
23824: , p_ae_header_id => l_ae_header_id
23825: );
23826:
23826:
23827: --
23828: -- set rounding class
23829: --
23830: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23831: 'PURCHASE_ORDER';
23832:
23833: --
23834: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23830: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23831: 'PURCHASE_ORDER';
23832:
23833: --
23834: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23835: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23836: --
23837: -- bulk performance
23838: --
23831: 'PURCHASE_ORDER';
23832:
23833: --
23834: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23835: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23836: --
23837: -- bulk performance
23838: --
23839: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23835: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23836: --
23837: -- bulk performance
23838: --
23839: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23840:
23841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23842: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23843:
23837: -- bulk performance
23838: --
23839: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23840:
23841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23842: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23843:
23844: -- 4955764
23845: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23841: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23842: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23843:
23844: -- 4955764
23845: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23846: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23847:
23848: -- 4458381 Public Sector Enh
23849:
23927: l_rec_acct_attrs.array_num_value(31) := p_source_32;
23928: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
23929: l_rec_acct_attrs.array_num_value(32) := p_source_32;
23930:
23931: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23932: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23933:
23934: ---------------------------------------------------------------------------------------------------------------
23935: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23928: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
23929: l_rec_acct_attrs.array_num_value(32) := p_source_32;
23930:
23931: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23932: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23933:
23934: ---------------------------------------------------------------------------------------------------------------
23935: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23936: ---------------------------------------------------------------------------------------------------------------
23931: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23932: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23933:
23934: ---------------------------------------------------------------------------------------------------------------
23935: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23936: ---------------------------------------------------------------------------------------------------------------
23937: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23938:
23939: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23933:
23934: ---------------------------------------------------------------------------------------------------------------
23935: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23936: ---------------------------------------------------------------------------------------------------------------
23937: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23938:
23939: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23940: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23941:
23935: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23936: ---------------------------------------------------------------------------------------------------------------
23937: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23938:
23939: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23940: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23941:
23942: IF xla_accounting_cache_pkg.GetValueChar
23943: (p_source_code => 'LEDGER_CATEGORY_CODE'
23936: ---------------------------------------------------------------------------------------------------------------
23937: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23938:
23939: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23940: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23941:
23942: IF xla_accounting_cache_pkg.GetValueChar
23943: (p_source_code => 'LEDGER_CATEGORY_CODE'
23944: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23947: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23948: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23949: )
23950: THEN
23951: xla_ae_lines_pkg.BflowUpgEntry
23952: (p_business_method_code => l_bflow_method_code
23953: ,p_business_class_code => l_bflow_class_code
23954: ,p_balance_type => l_balance_type_code);
23955: ELSE
23964: --
23965: -- call description
23966: --
23967:
23968: xla_ae_lines_pkg.SetLineDescription(
23969: p_ae_header_id => l_ae_header_id
23970: ,p_description => Description_2 (
23971: p_application_id => p_application_id
23972: , p_ae_header_id => l_ae_header_id
23997: , x_value_type_code => l_adr_value_type_code
23998: , p_side => 'NA'
23999: );
24000:
24001: xla_ae_lines_pkg.set_ccid(
24002: p_code_combination_id => l_ccid
24003: , p_value_type_code => l_adr_value_type_code
24004: , p_transaction_coa_id => l_adr_transaction_coa_id
24005: , p_accounting_coa_id => l_adr_accounting_coa_id
24033: );
24034:
24035: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24036:
24037: xla_ae_lines_pkg.set_segment(
24038: p_to_segment_code => 'GL_ACCOUNT'
24039: , p_segment_value => l_segment
24040: , p_from_segment_code => l_adr_value_segment_code
24041: , p_from_combination_id => l_adr_value_combination_id
24077: xla_accounting_err_pkg.build_message
24078: (p_appli_s_name => 'XLA'
24079: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24080: ,p_token_1 => 'LINE_NUMBER'
24081: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24082: ,p_token_2 => 'LINE_TYPE_NAME'
24083: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24084: l_component_type
24085: ,l_component_code
24113: --
24114: --
24115: ------------------------------------------------------------------------------------------------
24116: -- 4219869 Business Flow
24117: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24118: -- Prior Entry. Currently, the following code is always generated.
24119: ------------------------------------------------------------------------------------------------
24120: XLA_AE_LINES_PKG.ValidateCurrentLine;
24121:
24116: -- 4219869 Business Flow
24117: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24118: -- Prior Entry. Currently, the following code is always generated.
24119: ------------------------------------------------------------------------------------------------
24120: XLA_AE_LINES_PKG.ValidateCurrentLine;
24121:
24122: ------------------------------------------------------------------------------------
24123: -- 4219869 Business Flow
24124: -- Populated credit and debit amounts -- Need to generate this within IF
24122: ------------------------------------------------------------------------------------
24123: -- 4219869 Business Flow
24124: -- Populated credit and debit amounts -- Need to generate this within IF
24125: ------------------------------------------------------------------------------------
24126: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24127:
24128: ----------------------------------------------------------------------------------
24129: -- 4219869 Business Flow
24130: -- Update journal entry status -- Need to generate this within IF
24154: -- To allow MPA report to determine if it should generate report process
24155: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24156: ------------------------------------------------------------------------------------------
24157:
24158: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24159: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24160:
24161: --
24162: -- Update the line information that should be overwritten
24155: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24156: ------------------------------------------------------------------------------------------
24157:
24158: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24159: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24160:
24161: --
24162: -- Update the line information that should be overwritten
24163: --
24160:
24161: --
24162: -- Update the line information that should be overwritten
24163: --
24164: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24165: p_header_num => 1);
24166: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24167:
24168: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24162: -- Update the line information that should be overwritten
24163: --
24164: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24165: p_header_num => 1);
24166: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24167:
24168: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24169:
24170: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24164: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24165: p_header_num => 1);
24166: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24167:
24168: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24169:
24170: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24171: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24172: END IF;
24167:
24168: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24169:
24170: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24171: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24172: END IF;
24173:
24174: --
24175: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24174: --
24175: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24176: --
24177: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24178: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24179: ELSE
24180: ---------------------------------------------------------------------------------------------------
24181: -- 4262811a Switch Sign
24182: ---------------------------------------------------------------------------------------------------
24179: ELSE
24180: ---------------------------------------------------------------------------------------------------
24181: -- 4262811a Switch Sign
24182: ---------------------------------------------------------------------------------------------------
24183: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24184: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24180: ---------------------------------------------------------------------------------------------------
24181: -- 4262811a Switch Sign
24182: ---------------------------------------------------------------------------------------------------
24183: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24184: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24181: -- 4262811a Switch Sign
24182: ---------------------------------------------------------------------------------------------------
24183: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24184: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24189: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24182: ---------------------------------------------------------------------------------------------------
24183: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24184: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24189: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24190: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24183: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24184: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24189: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24190: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24191:
24185: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24189: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24190: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24191:
24192: END IF;
24193:
24186: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24187: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24188: -- 5132302
24189: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24190: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24191:
24192: END IF;
24193:
24194: -- 4955764
24191:
24192: END IF;
24193:
24194: -- 4955764
24195: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24196: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24197:
24198:
24199: XLA_AE_LINES_PKG.ValidateCurrentLine;
24195: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24196: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24197:
24198:
24199: XLA_AE_LINES_PKG.ValidateCurrentLine;
24200: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24201:
24202: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24203: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24196: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24197:
24198:
24199: XLA_AE_LINES_PKG.ValidateCurrentLine;
24200: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24201:
24202: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24203: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24204: ,p_balance_type_code => l_balance_type_code);
24347: --
24348: -- bulk performance
24349: --
24350: l_balance_type_code VARCHAR2(1);
24351: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24352: l_log_module VARCHAR2(240);
24353:
24354: --
24355: -- Upgrade strategy
24431: ') = 'B_PA')
24432: THEN
24433:
24434: --
24435: XLA_AE_LINES_PKG.SetNewLine;
24436:
24437: p_balance_type_code := l_balance_type_code;
24438: -- set the flag so later we will know whether the gain loss line needs to be created
24439:
24443:
24444: --
24445: -- bulk performance
24446: --
24447: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24448: p_header_num => 0); -- 4262811
24449: --
24450: -- set accounting line options
24451: --
24448: p_header_num => 0); -- 4262811
24449: --
24450: -- set accounting line options
24451: --
24452: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24453: p_natural_side_code => 'C'
24454: , p_gain_or_loss_flag => 'N'
24455: , p_gl_transfer_mode_code => 'S'
24456: , p_acct_entry_type_code => 'A'
24462: --
24463: --
24464: -- set accounting line type info
24465: --
24466: xla_ae_lines_pkg.SetAcctLineType
24467: (p_component_type => l_component_type
24468: ,p_event_type_code => l_event_type_code
24469: ,p_line_definition_owner_code => l_line_definition_owner_code
24470: ,p_line_definition_code => l_line_definition_code
24476: ,p_event_class_code => l_event_class_code);
24477: --
24478: -- set accounting class
24479: --
24480: xla_ae_lines_pkg.SetAcctClass(
24481: p_accounting_class_code => 'PURCHASE_ORDER'
24482: , p_ae_header_id => l_ae_header_id
24483: );
24484:
24484:
24485: --
24486: -- set rounding class
24487: --
24488: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24489: 'PURCHASE_ORDER';
24490:
24491: --
24492: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24488: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24489: 'PURCHASE_ORDER';
24490:
24491: --
24492: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24493: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24494: --
24495: -- bulk performance
24496: --
24489: 'PURCHASE_ORDER';
24490:
24491: --
24492: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24493: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24494: --
24495: -- bulk performance
24496: --
24497: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24493: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24494: --
24495: -- bulk performance
24496: --
24497: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24498:
24499: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24500: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24501:
24495: -- bulk performance
24496: --
24497: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24498:
24499: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24500: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24501:
24502: -- 4955764
24503: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24499: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24500: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24501:
24502: -- 4955764
24503: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24504: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24505:
24506: -- 4458381 Public Sector Enh
24507:
24583: l_rec_acct_attrs.array_num_value(30) := p_source_32;
24584: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
24585: l_rec_acct_attrs.array_num_value(31) := p_source_32;
24586:
24587: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24588: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24589:
24590: ---------------------------------------------------------------------------------------------------------------
24591: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24584: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
24585: l_rec_acct_attrs.array_num_value(31) := p_source_32;
24586:
24587: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24588: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24589:
24590: ---------------------------------------------------------------------------------------------------------------
24591: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24592: ---------------------------------------------------------------------------------------------------------------
24587: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24588: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24589:
24590: ---------------------------------------------------------------------------------------------------------------
24591: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24592: ---------------------------------------------------------------------------------------------------------------
24593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24594:
24595: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24589:
24590: ---------------------------------------------------------------------------------------------------------------
24591: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24592: ---------------------------------------------------------------------------------------------------------------
24593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24594:
24595: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24596: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24597:
24591: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24592: ---------------------------------------------------------------------------------------------------------------
24593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24594:
24595: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24596: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24597:
24598: IF xla_accounting_cache_pkg.GetValueChar
24599: (p_source_code => 'LEDGER_CATEGORY_CODE'
24592: ---------------------------------------------------------------------------------------------------------------
24593: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24594:
24595: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24596: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24597:
24598: IF xla_accounting_cache_pkg.GetValueChar
24599: (p_source_code => 'LEDGER_CATEGORY_CODE'
24600: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24603: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24604: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24605: )
24606: THEN
24607: xla_ae_lines_pkg.BflowUpgEntry
24608: (p_business_method_code => l_bflow_method_code
24609: ,p_business_class_code => l_bflow_class_code
24610: ,p_balance_type => l_balance_type_code);
24611: ELSE
24609: ,p_business_class_code => l_bflow_class_code
24610: ,p_balance_type => l_balance_type_code);
24611: ELSE
24612: NULL;
24613: XLA_AE_LINES_PKG.business_flow_validation(
24614: p_business_method_code => l_bflow_method_code
24615: ,p_business_class_code => l_bflow_class_code
24616: ,p_inherit_description_flag => l_inherit_desc_flag);
24617: END IF;
24656: xla_accounting_err_pkg.build_message
24657: (p_appli_s_name => 'XLA'
24658: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24659: ,p_token_1 => 'LINE_NUMBER'
24660: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24661: ,p_token_2 => 'LINE_TYPE_NAME'
24662: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24663: l_component_type
24664: ,l_component_code
24692: --
24693: --
24694: ------------------------------------------------------------------------------------------------
24695: -- 4219869 Business Flow
24696: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24697: -- Prior Entry. Currently, the following code is always generated.
24698: ------------------------------------------------------------------------------------------------
24699: -- No ValidateCurrentLine for business flow method of Prior Entry
24700:
24701: ------------------------------------------------------------------------------------
24702: -- 4219869 Business Flow
24703: -- Populated credit and debit amounts -- Need to generate this within IF
24704: ------------------------------------------------------------------------------------
24705: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24706:
24707: ----------------------------------------------------------------------------------
24708: -- 4219869 Business Flow
24709: -- Update journal entry status -- Need to generate this within IF
24733: -- To allow MPA report to determine if it should generate report process
24734: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24735: ------------------------------------------------------------------------------------------
24736:
24737: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24738: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24739:
24740: --
24741: -- Update the line information that should be overwritten
24734: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24735: ------------------------------------------------------------------------------------------
24736:
24737: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24738: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24739:
24740: --
24741: -- Update the line information that should be overwritten
24742: --
24739:
24740: --
24741: -- Update the line information that should be overwritten
24742: --
24743: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24744: p_header_num => 1);
24745: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24746:
24747: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24741: -- Update the line information that should be overwritten
24742: --
24743: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24744: p_header_num => 1);
24745: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24746:
24747: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24748:
24749: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24743: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24744: p_header_num => 1);
24745: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24746:
24747: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24748:
24749: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24750: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24751: END IF;
24746:
24747: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24748:
24749: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24750: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24751: END IF;
24752:
24753: --
24754: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24753: --
24754: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24755: --
24756: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24757: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24758: ELSE
24759: ---------------------------------------------------------------------------------------------------
24760: -- 4262811a Switch Sign
24761: ---------------------------------------------------------------------------------------------------
24758: ELSE
24759: ---------------------------------------------------------------------------------------------------
24760: -- 4262811a Switch Sign
24761: ---------------------------------------------------------------------------------------------------
24762: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24759: ---------------------------------------------------------------------------------------------------
24760: -- 4262811a Switch Sign
24761: ---------------------------------------------------------------------------------------------------
24762: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24760: -- 4262811a Switch Sign
24761: ---------------------------------------------------------------------------------------------------
24762: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24761: ---------------------------------------------------------------------------------------------------
24762: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24762: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24770:
24764: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24770:
24771: END IF;
24772:
24765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24766: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24767: -- 5132302
24768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24769: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24770:
24771: END IF;
24772:
24773: -- 4955764
24770:
24771: END IF;
24772:
24773: -- 4955764
24774: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24775: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24776:
24777:
24778: XLA_AE_LINES_PKG.ValidateCurrentLine;
24774: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24775: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24776:
24777:
24778: XLA_AE_LINES_PKG.ValidateCurrentLine;
24779: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24780:
24781: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24782: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24775: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24776:
24777:
24778: XLA_AE_LINES_PKG.ValidateCurrentLine;
24779: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24780:
24781: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24782: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24783: ,p_balance_type_code => l_balance_type_code);
24926: --
24927: -- bulk performance
24928: --
24929: l_balance_type_code VARCHAR2(1);
24930: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24931: l_log_module VARCHAR2(240);
24932:
24933: --
24934: -- Upgrade strategy
25010: ') = 'B_PA')
25011: THEN
25012:
25013: --
25014: XLA_AE_LINES_PKG.SetNewLine;
25015:
25016: p_balance_type_code := l_balance_type_code;
25017: -- set the flag so later we will know whether the gain loss line needs to be created
25018:
25022:
25023: --
25024: -- bulk performance
25025: --
25026: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25027: p_header_num => 0); -- 4262811
25028: --
25029: -- set accounting line options
25030: --
25027: p_header_num => 0); -- 4262811
25028: --
25029: -- set accounting line options
25030: --
25031: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25032: p_natural_side_code => 'D'
25033: , p_gain_or_loss_flag => 'N'
25034: , p_gl_transfer_mode_code => 'S'
25035: , p_acct_entry_type_code => 'A'
25041: --
25042: --
25043: -- set accounting line type info
25044: --
25045: xla_ae_lines_pkg.SetAcctLineType
25046: (p_component_type => l_component_type
25047: ,p_event_type_code => l_event_type_code
25048: ,p_line_definition_owner_code => l_line_definition_owner_code
25049: ,p_line_definition_code => l_line_definition_code
25055: ,p_event_class_code => l_event_class_code);
25056: --
25057: -- set accounting class
25058: --
25059: xla_ae_lines_pkg.SetAcctClass(
25060: p_accounting_class_code => 'PURCHASE_ORDER'
25061: , p_ae_header_id => l_ae_header_id
25062: );
25063:
25063:
25064: --
25065: -- set rounding class
25066: --
25067: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25068: 'PURCHASE_ORDER';
25069:
25070: --
25071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25067: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25068: 'PURCHASE_ORDER';
25069:
25070: --
25071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25073: --
25074: -- bulk performance
25075: --
25068: 'PURCHASE_ORDER';
25069:
25070: --
25071: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25073: --
25074: -- bulk performance
25075: --
25076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25072: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25073: --
25074: -- bulk performance
25075: --
25076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25077:
25078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25080:
25074: -- bulk performance
25075: --
25076: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25077:
25078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25080:
25081: -- 4955764
25082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25079: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25080:
25081: -- 4955764
25082: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25083: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25084:
25085: -- 4458381 Public Sector Enh
25086:
25162: l_rec_acct_attrs.array_num_value(30) := p_source_32;
25163: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
25164: l_rec_acct_attrs.array_num_value(31) := p_source_32;
25165:
25166: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25167: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25168:
25169: ---------------------------------------------------------------------------------------------------------------
25170: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25163: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
25164: l_rec_acct_attrs.array_num_value(31) := p_source_32;
25165:
25166: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25167: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25168:
25169: ---------------------------------------------------------------------------------------------------------------
25170: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25171: ---------------------------------------------------------------------------------------------------------------
25166: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25167: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25168:
25169: ---------------------------------------------------------------------------------------------------------------
25170: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25171: ---------------------------------------------------------------------------------------------------------------
25172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25173:
25174: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25168:
25169: ---------------------------------------------------------------------------------------------------------------
25170: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25171: ---------------------------------------------------------------------------------------------------------------
25172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25173:
25174: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25175: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25176:
25170: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25171: ---------------------------------------------------------------------------------------------------------------
25172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25173:
25174: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25175: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25176:
25177: IF xla_accounting_cache_pkg.GetValueChar
25178: (p_source_code => 'LEDGER_CATEGORY_CODE'
25171: ---------------------------------------------------------------------------------------------------------------
25172: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25173:
25174: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25175: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25176:
25177: IF xla_accounting_cache_pkg.GetValueChar
25178: (p_source_code => 'LEDGER_CATEGORY_CODE'
25179: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25182: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25183: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25184: )
25185: THEN
25186: xla_ae_lines_pkg.BflowUpgEntry
25187: (p_business_method_code => l_bflow_method_code
25188: ,p_business_class_code => l_bflow_class_code
25189: ,p_balance_type => l_balance_type_code);
25190: ELSE
25188: ,p_business_class_code => l_bflow_class_code
25189: ,p_balance_type => l_balance_type_code);
25190: ELSE
25191: NULL;
25192: XLA_AE_LINES_PKG.business_flow_validation(
25193: p_business_method_code => l_bflow_method_code
25194: ,p_business_class_code => l_bflow_class_code
25195: ,p_inherit_description_flag => l_inherit_desc_flag);
25196: END IF;
25235: xla_accounting_err_pkg.build_message
25236: (p_appli_s_name => 'XLA'
25237: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25238: ,p_token_1 => 'LINE_NUMBER'
25239: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25240: ,p_token_2 => 'LINE_TYPE_NAME'
25241: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25242: l_component_type
25243: ,l_component_code
25271: --
25272: --
25273: ------------------------------------------------------------------------------------------------
25274: -- 4219869 Business Flow
25275: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25276: -- Prior Entry. Currently, the following code is always generated.
25277: ------------------------------------------------------------------------------------------------
25278: -- No ValidateCurrentLine for business flow method of Prior Entry
25279:
25280: ------------------------------------------------------------------------------------
25281: -- 4219869 Business Flow
25282: -- Populated credit and debit amounts -- Need to generate this within IF
25283: ------------------------------------------------------------------------------------
25284: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25285:
25286: ----------------------------------------------------------------------------------
25287: -- 4219869 Business Flow
25288: -- Update journal entry status -- Need to generate this within IF
25312: -- To allow MPA report to determine if it should generate report process
25313: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25314: ------------------------------------------------------------------------------------------
25315:
25316: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25317: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25318:
25319: --
25320: -- Update the line information that should be overwritten
25313: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25314: ------------------------------------------------------------------------------------------
25315:
25316: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25317: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25318:
25319: --
25320: -- Update the line information that should be overwritten
25321: --
25318:
25319: --
25320: -- Update the line information that should be overwritten
25321: --
25322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25323: p_header_num => 1);
25324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25325:
25326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25320: -- Update the line information that should be overwritten
25321: --
25322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25323: p_header_num => 1);
25324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25325:
25326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25327:
25328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25322: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25323: p_header_num => 1);
25324: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25325:
25326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25327:
25328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25329: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25330: END IF;
25325:
25326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25327:
25328: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25329: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25330: END IF;
25331:
25332: --
25333: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25332: --
25333: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25334: --
25335: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25336: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25337: ELSE
25338: ---------------------------------------------------------------------------------------------------
25339: -- 4262811a Switch Sign
25340: ---------------------------------------------------------------------------------------------------
25337: ELSE
25338: ---------------------------------------------------------------------------------------------------
25339: -- 4262811a Switch Sign
25340: ---------------------------------------------------------------------------------------------------
25341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25338: ---------------------------------------------------------------------------------------------------
25339: -- 4262811a Switch Sign
25340: ---------------------------------------------------------------------------------------------------
25341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25339: -- 4262811a Switch Sign
25340: ---------------------------------------------------------------------------------------------------
25341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25340: ---------------------------------------------------------------------------------------------------
25341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25341: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25342: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25349:
25343: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25349:
25350: END IF;
25351:
25344: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25345: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25346: -- 5132302
25347: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25348: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25349:
25350: END IF;
25351:
25352: -- 4955764
25349:
25350: END IF;
25351:
25352: -- 4955764
25353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25355:
25356:
25357: XLA_AE_LINES_PKG.ValidateCurrentLine;
25353: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25355:
25356:
25357: XLA_AE_LINES_PKG.ValidateCurrentLine;
25358: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25359:
25360: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25361: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25354: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25355:
25356:
25357: XLA_AE_LINES_PKG.ValidateCurrentLine;
25358: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25359:
25360: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25361: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25362: ,p_balance_type_code => l_balance_type_code);
25505: --
25506: -- bulk performance
25507: --
25508: l_balance_type_code VARCHAR2(1);
25509: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25510: l_log_module VARCHAR2(240);
25511:
25512: --
25513: -- Upgrade strategy
25587: ') = 'B_REQ'
25588: THEN
25589:
25590: --
25591: XLA_AE_LINES_PKG.SetNewLine;
25592:
25593: p_balance_type_code := l_balance_type_code;
25594: -- set the flag so later we will know whether the gain loss line needs to be created
25595:
25599:
25600: --
25601: -- bulk performance
25602: --
25603: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25604: p_header_num => 0); -- 4262811
25605: --
25606: -- set accounting line options
25607: --
25604: p_header_num => 0); -- 4262811
25605: --
25606: -- set accounting line options
25607: --
25608: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25609: p_natural_side_code => 'C'
25610: , p_gain_or_loss_flag => 'N'
25611: , p_gl_transfer_mode_code => 'S'
25612: , p_acct_entry_type_code => 'A'
25618: --
25619: --
25620: -- set accounting line type info
25621: --
25622: xla_ae_lines_pkg.SetAcctLineType
25623: (p_component_type => l_component_type
25624: ,p_event_type_code => l_event_type_code
25625: ,p_line_definition_owner_code => l_line_definition_owner_code
25626: ,p_line_definition_code => l_line_definition_code
25632: ,p_event_class_code => l_event_class_code);
25633: --
25634: -- set accounting class
25635: --
25636: xla_ae_lines_pkg.SetAcctClass(
25637: p_accounting_class_code => 'PURCHASE_ORDER'
25638: , p_ae_header_id => l_ae_header_id
25639: );
25640:
25640:
25641: --
25642: -- set rounding class
25643: --
25644: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25645: 'PURCHASE_ORDER';
25646:
25647: --
25648: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25644: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25645: 'PURCHASE_ORDER';
25646:
25647: --
25648: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25649: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25650: --
25651: -- bulk performance
25652: --
25645: 'PURCHASE_ORDER';
25646:
25647: --
25648: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25649: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25650: --
25651: -- bulk performance
25652: --
25653: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25649: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25650: --
25651: -- bulk performance
25652: --
25653: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25654:
25655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25656: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25657:
25651: -- bulk performance
25652: --
25653: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25654:
25655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25656: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25657:
25658: -- 4955764
25659: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25656: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25657:
25658: -- 4955764
25659: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25660: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25661:
25662: -- 4458381 Public Sector Enh
25663:
25739: l_rec_acct_attrs.array_num_value(30) := p_source_32;
25740: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
25741: l_rec_acct_attrs.array_num_value(31) := p_source_32;
25742:
25743: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25744: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25745:
25746: ---------------------------------------------------------------------------------------------------------------
25747: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25740: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
25741: l_rec_acct_attrs.array_num_value(31) := p_source_32;
25742:
25743: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25744: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25745:
25746: ---------------------------------------------------------------------------------------------------------------
25747: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25748: ---------------------------------------------------------------------------------------------------------------
25743: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25744: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25745:
25746: ---------------------------------------------------------------------------------------------------------------
25747: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25748: ---------------------------------------------------------------------------------------------------------------
25749: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25750:
25751: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25745:
25746: ---------------------------------------------------------------------------------------------------------------
25747: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25748: ---------------------------------------------------------------------------------------------------------------
25749: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25750:
25751: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25752: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25753:
25747: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25748: ---------------------------------------------------------------------------------------------------------------
25749: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25750:
25751: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25752: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25753:
25754: IF xla_accounting_cache_pkg.GetValueChar
25755: (p_source_code => 'LEDGER_CATEGORY_CODE'
25748: ---------------------------------------------------------------------------------------------------------------
25749: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25750:
25751: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25752: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25753:
25754: IF xla_accounting_cache_pkg.GetValueChar
25755: (p_source_code => 'LEDGER_CATEGORY_CODE'
25756: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25759: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25760: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25761: )
25762: THEN
25763: xla_ae_lines_pkg.BflowUpgEntry
25764: (p_business_method_code => l_bflow_method_code
25765: ,p_business_class_code => l_bflow_class_code
25766: ,p_balance_type => l_balance_type_code);
25767: ELSE
25765: ,p_business_class_code => l_bflow_class_code
25766: ,p_balance_type => l_balance_type_code);
25767: ELSE
25768: NULL;
25769: XLA_AE_LINES_PKG.business_flow_validation(
25770: p_business_method_code => l_bflow_method_code
25771: ,p_business_class_code => l_bflow_class_code
25772: ,p_inherit_description_flag => l_inherit_desc_flag);
25773: END IF;
25812: xla_accounting_err_pkg.build_message
25813: (p_appli_s_name => 'XLA'
25814: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25815: ,p_token_1 => 'LINE_NUMBER'
25816: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25817: ,p_token_2 => 'LINE_TYPE_NAME'
25818: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25819: l_component_type
25820: ,l_component_code
25848: --
25849: --
25850: ------------------------------------------------------------------------------------------------
25851: -- 4219869 Business Flow
25852: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25853: -- Prior Entry. Currently, the following code is always generated.
25854: ------------------------------------------------------------------------------------------------
25855: -- No ValidateCurrentLine for business flow method of Prior Entry
25856:
25857: ------------------------------------------------------------------------------------
25858: -- 4219869 Business Flow
25859: -- Populated credit and debit amounts -- Need to generate this within IF
25860: ------------------------------------------------------------------------------------
25861: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25862:
25863: ----------------------------------------------------------------------------------
25864: -- 4219869 Business Flow
25865: -- Update journal entry status -- Need to generate this within IF
25889: -- To allow MPA report to determine if it should generate report process
25890: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25891: ------------------------------------------------------------------------------------------
25892:
25893: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25894: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25895:
25896: --
25897: -- Update the line information that should be overwritten
25890: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25891: ------------------------------------------------------------------------------------------
25892:
25893: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25894: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25895:
25896: --
25897: -- Update the line information that should be overwritten
25898: --
25895:
25896: --
25897: -- Update the line information that should be overwritten
25898: --
25899: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25900: p_header_num => 1);
25901: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25902:
25903: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25897: -- Update the line information that should be overwritten
25898: --
25899: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25900: p_header_num => 1);
25901: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25902:
25903: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25904:
25905: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25899: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25900: p_header_num => 1);
25901: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25902:
25903: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25904:
25905: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25906: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25907: END IF;
25902:
25903: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25904:
25905: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25906: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25907: END IF;
25908:
25909: --
25910: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25909: --
25910: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25911: --
25912: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25913: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25914: ELSE
25915: ---------------------------------------------------------------------------------------------------
25916: -- 4262811a Switch Sign
25917: ---------------------------------------------------------------------------------------------------
25914: ELSE
25915: ---------------------------------------------------------------------------------------------------
25916: -- 4262811a Switch Sign
25917: ---------------------------------------------------------------------------------------------------
25918: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25919: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25915: ---------------------------------------------------------------------------------------------------
25916: -- 4262811a Switch Sign
25917: ---------------------------------------------------------------------------------------------------
25918: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25919: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25916: -- 4262811a Switch Sign
25917: ---------------------------------------------------------------------------------------------------
25918: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25919: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25924: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25917: ---------------------------------------------------------------------------------------------------
25918: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25919: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25924: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25925: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25918: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25919: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25924: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25925: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25926:
25920: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25924: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25925: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25926:
25927: END IF;
25928:
25921: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25922: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25923: -- 5132302
25924: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25925: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25926:
25927: END IF;
25928:
25929: -- 4955764
25926:
25927: END IF;
25928:
25929: -- 4955764
25930: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25931: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25932:
25933:
25934: XLA_AE_LINES_PKG.ValidateCurrentLine;
25930: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25931: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25932:
25933:
25934: XLA_AE_LINES_PKG.ValidateCurrentLine;
25935: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25936:
25937: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25938: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25931: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25932:
25933:
25934: XLA_AE_LINES_PKG.ValidateCurrentLine;
25935: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25936:
25937: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25938: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25939: ,p_balance_type_code => l_balance_type_code);
26082: --
26083: -- bulk performance
26084: --
26085: l_balance_type_code VARCHAR2(1);
26086: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26087: l_log_module VARCHAR2(240);
26088:
26089: --
26090: -- Upgrade strategy
26164: ') = 'B_REQ'
26165: THEN
26166:
26167: --
26168: XLA_AE_LINES_PKG.SetNewLine;
26169:
26170: p_balance_type_code := l_balance_type_code;
26171: -- set the flag so later we will know whether the gain loss line needs to be created
26172:
26176:
26177: --
26178: -- bulk performance
26179: --
26180: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26181: p_header_num => 0); -- 4262811
26182: --
26183: -- set accounting line options
26184: --
26181: p_header_num => 0); -- 4262811
26182: --
26183: -- set accounting line options
26184: --
26185: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26186: p_natural_side_code => 'D'
26187: , p_gain_or_loss_flag => 'N'
26188: , p_gl_transfer_mode_code => 'S'
26189: , p_acct_entry_type_code => 'A'
26195: --
26196: --
26197: -- set accounting line type info
26198: --
26199: xla_ae_lines_pkg.SetAcctLineType
26200: (p_component_type => l_component_type
26201: ,p_event_type_code => l_event_type_code
26202: ,p_line_definition_owner_code => l_line_definition_owner_code
26203: ,p_line_definition_code => l_line_definition_code
26209: ,p_event_class_code => l_event_class_code);
26210: --
26211: -- set accounting class
26212: --
26213: xla_ae_lines_pkg.SetAcctClass(
26214: p_accounting_class_code => 'PURCHASE_ORDER'
26215: , p_ae_header_id => l_ae_header_id
26216: );
26217:
26217:
26218: --
26219: -- set rounding class
26220: --
26221: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26222: 'PURCHASE_ORDER';
26223:
26224: --
26225: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26221: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26222: 'PURCHASE_ORDER';
26223:
26224: --
26225: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26226: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26227: --
26228: -- bulk performance
26229: --
26222: 'PURCHASE_ORDER';
26223:
26224: --
26225: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26226: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26227: --
26228: -- bulk performance
26229: --
26230: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26226: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26227: --
26228: -- bulk performance
26229: --
26230: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26231:
26232: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26233: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26234:
26228: -- bulk performance
26229: --
26230: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26231:
26232: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26233: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26234:
26235: -- 4955764
26236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26232: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26233: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26234:
26235: -- 4955764
26236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26238:
26239: -- 4458381 Public Sector Enh
26240:
26316: l_rec_acct_attrs.array_num_value(30) := p_source_32;
26317: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
26318: l_rec_acct_attrs.array_num_value(31) := p_source_32;
26319:
26320: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26321: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26322:
26323: ---------------------------------------------------------------------------------------------------------------
26324: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26317: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
26318: l_rec_acct_attrs.array_num_value(31) := p_source_32;
26319:
26320: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26321: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26322:
26323: ---------------------------------------------------------------------------------------------------------------
26324: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26325: ---------------------------------------------------------------------------------------------------------------
26320: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26321: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26322:
26323: ---------------------------------------------------------------------------------------------------------------
26324: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26325: ---------------------------------------------------------------------------------------------------------------
26326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26327:
26328: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26322:
26323: ---------------------------------------------------------------------------------------------------------------
26324: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26325: ---------------------------------------------------------------------------------------------------------------
26326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26327:
26328: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26329: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26330:
26324: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26325: ---------------------------------------------------------------------------------------------------------------
26326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26327:
26328: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26329: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26330:
26331: IF xla_accounting_cache_pkg.GetValueChar
26332: (p_source_code => 'LEDGER_CATEGORY_CODE'
26325: ---------------------------------------------------------------------------------------------------------------
26326: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26327:
26328: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26329: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26330:
26331: IF xla_accounting_cache_pkg.GetValueChar
26332: (p_source_code => 'LEDGER_CATEGORY_CODE'
26333: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26336: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26337: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26338: )
26339: THEN
26340: xla_ae_lines_pkg.BflowUpgEntry
26341: (p_business_method_code => l_bflow_method_code
26342: ,p_business_class_code => l_bflow_class_code
26343: ,p_balance_type => l_balance_type_code);
26344: ELSE
26342: ,p_business_class_code => l_bflow_class_code
26343: ,p_balance_type => l_balance_type_code);
26344: ELSE
26345: NULL;
26346: XLA_AE_LINES_PKG.business_flow_validation(
26347: p_business_method_code => l_bflow_method_code
26348: ,p_business_class_code => l_bflow_class_code
26349: ,p_inherit_description_flag => l_inherit_desc_flag);
26350: END IF;
26389: xla_accounting_err_pkg.build_message
26390: (p_appli_s_name => 'XLA'
26391: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26392: ,p_token_1 => 'LINE_NUMBER'
26393: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26394: ,p_token_2 => 'LINE_TYPE_NAME'
26395: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26396: l_component_type
26397: ,l_component_code
26425: --
26426: --
26427: ------------------------------------------------------------------------------------------------
26428: -- 4219869 Business Flow
26429: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26430: -- Prior Entry. Currently, the following code is always generated.
26431: ------------------------------------------------------------------------------------------------
26432: -- No ValidateCurrentLine for business flow method of Prior Entry
26433:
26434: ------------------------------------------------------------------------------------
26435: -- 4219869 Business Flow
26436: -- Populated credit and debit amounts -- Need to generate this within IF
26437: ------------------------------------------------------------------------------------
26438: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26439:
26440: ----------------------------------------------------------------------------------
26441: -- 4219869 Business Flow
26442: -- Update journal entry status -- Need to generate this within IF
26466: -- To allow MPA report to determine if it should generate report process
26467: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26468: ------------------------------------------------------------------------------------------
26469:
26470: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26471: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26472:
26473: --
26474: -- Update the line information that should be overwritten
26467: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26468: ------------------------------------------------------------------------------------------
26469:
26470: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26471: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26472:
26473: --
26474: -- Update the line information that should be overwritten
26475: --
26472:
26473: --
26474: -- Update the line information that should be overwritten
26475: --
26476: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26477: p_header_num => 1);
26478: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26479:
26480: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26474: -- Update the line information that should be overwritten
26475: --
26476: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26477: p_header_num => 1);
26478: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26479:
26480: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26481:
26482: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26476: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26477: p_header_num => 1);
26478: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26479:
26480: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26481:
26482: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26483: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26484: END IF;
26479:
26480: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26481:
26482: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26483: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26484: END IF;
26485:
26486: --
26487: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26486: --
26487: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26488: --
26489: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26490: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26491: ELSE
26492: ---------------------------------------------------------------------------------------------------
26493: -- 4262811a Switch Sign
26494: ---------------------------------------------------------------------------------------------------
26491: ELSE
26492: ---------------------------------------------------------------------------------------------------
26493: -- 4262811a Switch Sign
26494: ---------------------------------------------------------------------------------------------------
26495: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26496: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26492: ---------------------------------------------------------------------------------------------------
26493: -- 4262811a Switch Sign
26494: ---------------------------------------------------------------------------------------------------
26495: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26496: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26493: -- 4262811a Switch Sign
26494: ---------------------------------------------------------------------------------------------------
26495: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26496: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26501: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26494: ---------------------------------------------------------------------------------------------------
26495: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26496: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26501: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26502: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26495: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26496: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26501: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26502: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26503:
26497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26501: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26502: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26503:
26504: END IF;
26505:
26498: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26499: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26500: -- 5132302
26501: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26502: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26503:
26504: END IF;
26505:
26506: -- 4955764
26503:
26504: END IF;
26505:
26506: -- 4955764
26507: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26508: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26509:
26510:
26511: XLA_AE_LINES_PKG.ValidateCurrentLine;
26507: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26508: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26509:
26510:
26511: XLA_AE_LINES_PKG.ValidateCurrentLine;
26512: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26513:
26514: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26515: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26508: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26509:
26510:
26511: XLA_AE_LINES_PKG.ValidateCurrentLine;
26512: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26513:
26514: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26515: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26516: ,p_balance_type_code => l_balance_type_code);
26665: --
26666: -- bulk performance
26667: --
26668: l_balance_type_code VARCHAR2(1);
26669: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26670: l_log_module VARCHAR2(240);
26671:
26672: --
26673: -- Upgrade strategy
26742: ') = 'Y'
26743: THEN
26744:
26745: --
26746: XLA_AE_LINES_PKG.SetNewLine;
26747:
26748: p_balance_type_code := l_balance_type_code;
26749: -- set the flag so later we will know whether the gain loss line needs to be created
26750:
26754:
26755: --
26756: -- bulk performance
26757: --
26758: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26759: p_header_num => 0); -- 4262811
26760: --
26761: -- set accounting line options
26762: --
26759: p_header_num => 0); -- 4262811
26760: --
26761: -- set accounting line options
26762: --
26763: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26764: p_natural_side_code => 'C'
26765: , p_gain_or_loss_flag => 'N'
26766: , p_gl_transfer_mode_code => 'S'
26767: , p_acct_entry_type_code => 'A'
26773: --
26774: --
26775: -- set accounting line type info
26776: --
26777: xla_ae_lines_pkg.SetAcctLineType
26778: (p_component_type => l_component_type
26779: ,p_event_type_code => l_event_type_code
26780: ,p_line_definition_owner_code => l_line_definition_owner_code
26781: ,p_line_definition_code => l_line_definition_code
26787: ,p_event_class_code => l_event_class_code);
26788: --
26789: -- set accounting class
26790: --
26791: xla_ae_lines_pkg.SetAcctClass(
26792: p_accounting_class_code => 'PURCHASE_ORDER'
26793: , p_ae_header_id => l_ae_header_id
26794: );
26795:
26795:
26796: --
26797: -- set rounding class
26798: --
26799: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26800: 'PURCHASE_ORDER';
26801:
26802: --
26803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26799: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26800: 'PURCHASE_ORDER';
26801:
26802: --
26803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26805: --
26806: -- bulk performance
26807: --
26800: 'PURCHASE_ORDER';
26801:
26802: --
26803: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26805: --
26806: -- bulk performance
26807: --
26808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26804: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26805: --
26806: -- bulk performance
26807: --
26808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26809:
26810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26812:
26806: -- bulk performance
26807: --
26808: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26809:
26810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26812:
26813: -- 4955764
26814: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26810: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26811: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26812:
26813: -- 4955764
26814: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26815: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26816:
26817: -- 4458381 Public Sector Enh
26818:
26896: l_rec_acct_attrs.array_num_value(31) := p_source_32;
26897: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
26898: l_rec_acct_attrs.array_num_value(32) := p_source_32;
26899:
26900: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26901: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26902:
26903: ---------------------------------------------------------------------------------------------------------------
26904: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26897: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
26898: l_rec_acct_attrs.array_num_value(32) := p_source_32;
26899:
26900: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26901: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26902:
26903: ---------------------------------------------------------------------------------------------------------------
26904: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26905: ---------------------------------------------------------------------------------------------------------------
26900: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26901: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26902:
26903: ---------------------------------------------------------------------------------------------------------------
26904: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26905: ---------------------------------------------------------------------------------------------------------------
26906: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26907:
26908: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26902:
26903: ---------------------------------------------------------------------------------------------------------------
26904: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26905: ---------------------------------------------------------------------------------------------------------------
26906: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26907:
26908: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26909: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26910:
26904: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26905: ---------------------------------------------------------------------------------------------------------------
26906: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26907:
26908: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26909: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26910:
26911: IF xla_accounting_cache_pkg.GetValueChar
26912: (p_source_code => 'LEDGER_CATEGORY_CODE'
26905: ---------------------------------------------------------------------------------------------------------------
26906: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26907:
26908: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26909: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26910:
26911: IF xla_accounting_cache_pkg.GetValueChar
26912: (p_source_code => 'LEDGER_CATEGORY_CODE'
26913: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26916: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26917: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26918: )
26919: THEN
26920: xla_ae_lines_pkg.BflowUpgEntry
26921: (p_business_method_code => l_bflow_method_code
26922: ,p_business_class_code => l_bflow_class_code
26923: ,p_balance_type => l_balance_type_code);
26924: ELSE
26933: --
26934: -- call description
26935: --
26936:
26937: xla_ae_lines_pkg.SetLineDescription(
26938: p_ae_header_id => l_ae_header_id
26939: ,p_description => Description_2 (
26940: p_application_id => p_application_id
26941: , p_ae_header_id => l_ae_header_id
26966: , x_value_type_code => l_adr_value_type_code
26967: , p_side => 'NA'
26968: );
26969:
26970: xla_ae_lines_pkg.set_ccid(
26971: p_code_combination_id => l_ccid
26972: , p_value_type_code => l_adr_value_type_code
26973: , p_transaction_coa_id => l_adr_transaction_coa_id
26974: , p_accounting_coa_id => l_adr_accounting_coa_id
26999: );
27000:
27001: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27002:
27003: xla_ae_lines_pkg.set_segment(
27004: p_to_segment_code => 'GL_ACCOUNT'
27005: , p_segment_value => l_segment
27006: , p_from_segment_code => l_adr_value_segment_code
27007: , p_from_combination_id => l_adr_value_combination_id
27043: xla_accounting_err_pkg.build_message
27044: (p_appli_s_name => 'XLA'
27045: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27046: ,p_token_1 => 'LINE_NUMBER'
27047: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27048: ,p_token_2 => 'LINE_TYPE_NAME'
27049: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27050: l_component_type
27051: ,l_component_code
27079: --
27080: --
27081: ------------------------------------------------------------------------------------------------
27082: -- 4219869 Business Flow
27083: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27084: -- Prior Entry. Currently, the following code is always generated.
27085: ------------------------------------------------------------------------------------------------
27086: XLA_AE_LINES_PKG.ValidateCurrentLine;
27087:
27082: -- 4219869 Business Flow
27083: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27084: -- Prior Entry. Currently, the following code is always generated.
27085: ------------------------------------------------------------------------------------------------
27086: XLA_AE_LINES_PKG.ValidateCurrentLine;
27087:
27088: ------------------------------------------------------------------------------------
27089: -- 4219869 Business Flow
27090: -- Populated credit and debit amounts -- Need to generate this within IF
27088: ------------------------------------------------------------------------------------
27089: -- 4219869 Business Flow
27090: -- Populated credit and debit amounts -- Need to generate this within IF
27091: ------------------------------------------------------------------------------------
27092: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27093:
27094: ----------------------------------------------------------------------------------
27095: -- 4219869 Business Flow
27096: -- Update journal entry status -- Need to generate this within IF
27120: -- To allow MPA report to determine if it should generate report process
27121: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27122: ------------------------------------------------------------------------------------------
27123:
27124: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27125: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27126:
27127: --
27128: -- Update the line information that should be overwritten
27121: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27122: ------------------------------------------------------------------------------------------
27123:
27124: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27125: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27126:
27127: --
27128: -- Update the line information that should be overwritten
27129: --
27126:
27127: --
27128: -- Update the line information that should be overwritten
27129: --
27130: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27131: p_header_num => 1);
27132: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27133:
27134: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27128: -- Update the line information that should be overwritten
27129: --
27130: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27131: p_header_num => 1);
27132: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27133:
27134: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27135:
27136: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27130: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27131: p_header_num => 1);
27132: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27133:
27134: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27135:
27136: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27137: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27138: END IF;
27133:
27134: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27135:
27136: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27137: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27138: END IF;
27139:
27140: --
27141: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27140: --
27141: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27142: --
27143: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27144: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27145: ELSE
27146: ---------------------------------------------------------------------------------------------------
27147: -- 4262811a Switch Sign
27148: ---------------------------------------------------------------------------------------------------
27145: ELSE
27146: ---------------------------------------------------------------------------------------------------
27147: -- 4262811a Switch Sign
27148: ---------------------------------------------------------------------------------------------------
27149: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27150: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27146: ---------------------------------------------------------------------------------------------------
27147: -- 4262811a Switch Sign
27148: ---------------------------------------------------------------------------------------------------
27149: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27150: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27147: -- 4262811a Switch Sign
27148: ---------------------------------------------------------------------------------------------------
27149: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27150: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27155: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27148: ---------------------------------------------------------------------------------------------------
27149: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27150: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27155: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27156: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27149: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27150: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27155: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27156: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27157:
27151: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27155: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27156: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27157:
27158: END IF;
27159:
27152: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27153: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27154: -- 5132302
27155: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27156: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27157:
27158: END IF;
27159:
27160: -- 4955764
27157:
27158: END IF;
27159:
27160: -- 4955764
27161: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27162: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27163:
27164:
27165: XLA_AE_LINES_PKG.ValidateCurrentLine;
27161: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27162: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27163:
27164:
27165: XLA_AE_LINES_PKG.ValidateCurrentLine;
27166: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27167:
27168: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27169: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27162: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27163:
27164:
27165: XLA_AE_LINES_PKG.ValidateCurrentLine;
27166: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27167:
27168: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27169: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27170: ,p_balance_type_code => l_balance_type_code);
27321: --
27322: -- bulk performance
27323: --
27324: l_balance_type_code VARCHAR2(1);
27325: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27326: l_log_module VARCHAR2(240);
27327:
27328: --
27329: -- Upgrade strategy
27399: p_source_11 > 0
27400: THEN
27401:
27402: --
27403: XLA_AE_LINES_PKG.SetNewLine;
27404:
27405: p_balance_type_code := l_balance_type_code;
27406: -- set the flag so later we will know whether the gain loss line needs to be created
27407:
27411:
27412: --
27413: -- bulk performance
27414: --
27415: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27416: p_header_num => 0); -- 4262811
27417: --
27418: -- set accounting line options
27419: --
27416: p_header_num => 0); -- 4262811
27417: --
27418: -- set accounting line options
27419: --
27420: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27421: p_natural_side_code => 'C'
27422: , p_gain_or_loss_flag => 'N'
27423: , p_gl_transfer_mode_code => 'S'
27424: , p_acct_entry_type_code => 'A'
27430: --
27431: --
27432: -- set accounting line type info
27433: --
27434: xla_ae_lines_pkg.SetAcctLineType
27435: (p_component_type => l_component_type
27436: ,p_event_type_code => l_event_type_code
27437: ,p_line_definition_owner_code => l_line_definition_owner_code
27438: ,p_line_definition_code => l_line_definition_code
27444: ,p_event_class_code => l_event_class_code);
27445: --
27446: -- set accounting class
27447: --
27448: xla_ae_lines_pkg.SetAcctClass(
27449: p_accounting_class_code => 'PURCHASE_ORDER'
27450: , p_ae_header_id => l_ae_header_id
27451: );
27452:
27452:
27453: --
27454: -- set rounding class
27455: --
27456: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27457: 'PURCHASE_ORDER';
27458:
27459: --
27460: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27456: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27457: 'PURCHASE_ORDER';
27458:
27459: --
27460: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27461: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27462: --
27463: -- bulk performance
27464: --
27457: 'PURCHASE_ORDER';
27458:
27459: --
27460: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27461: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27462: --
27463: -- bulk performance
27464: --
27465: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27461: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27462: --
27463: -- bulk performance
27464: --
27465: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27466:
27467: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27468: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27469:
27463: -- bulk performance
27464: --
27465: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27466:
27467: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27468: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27469:
27470: -- 4955764
27471: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27467: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27468: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27469:
27470: -- 4955764
27471: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27472: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27473:
27474: -- 4458381 Public Sector Enh
27475:
27553: l_rec_acct_attrs.array_num_value(31) := p_source_32;
27554: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
27555: l_rec_acct_attrs.array_num_value(32) := p_source_32;
27556:
27557: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27558: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27559:
27560: ---------------------------------------------------------------------------------------------------------------
27561: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27554: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
27555: l_rec_acct_attrs.array_num_value(32) := p_source_32;
27556:
27557: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27558: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27559:
27560: ---------------------------------------------------------------------------------------------------------------
27561: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27562: ---------------------------------------------------------------------------------------------------------------
27557: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27558: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27559:
27560: ---------------------------------------------------------------------------------------------------------------
27561: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27562: ---------------------------------------------------------------------------------------------------------------
27563: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27564:
27565: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27559:
27560: ---------------------------------------------------------------------------------------------------------------
27561: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27562: ---------------------------------------------------------------------------------------------------------------
27563: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27564:
27565: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27566: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27567:
27561: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27562: ---------------------------------------------------------------------------------------------------------------
27563: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27564:
27565: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27566: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27567:
27568: IF xla_accounting_cache_pkg.GetValueChar
27569: (p_source_code => 'LEDGER_CATEGORY_CODE'
27562: ---------------------------------------------------------------------------------------------------------------
27563: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27564:
27565: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27566: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27567:
27568: IF xla_accounting_cache_pkg.GetValueChar
27569: (p_source_code => 'LEDGER_CATEGORY_CODE'
27570: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27573: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27574: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27575: )
27576: THEN
27577: xla_ae_lines_pkg.BflowUpgEntry
27578: (p_business_method_code => l_bflow_method_code
27579: ,p_business_class_code => l_bflow_class_code
27580: ,p_balance_type => l_balance_type_code);
27581: ELSE
27590: --
27591: -- call description
27592: --
27593:
27594: xla_ae_lines_pkg.SetLineDescription(
27595: p_ae_header_id => l_ae_header_id
27596: ,p_description => Description_2 (
27597: p_application_id => p_application_id
27598: , p_ae_header_id => l_ae_header_id
27623: , x_value_type_code => l_adr_value_type_code
27624: , p_side => 'NA'
27625: );
27626:
27627: xla_ae_lines_pkg.set_ccid(
27628: p_code_combination_id => l_ccid
27629: , p_value_type_code => l_adr_value_type_code
27630: , p_transaction_coa_id => l_adr_transaction_coa_id
27631: , p_accounting_coa_id => l_adr_accounting_coa_id
27655: );
27656:
27657: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27658:
27659: xla_ae_lines_pkg.set_segment(
27660: p_to_segment_code => 'GL_ACCOUNT'
27661: , p_segment_value => l_segment
27662: , p_from_segment_code => l_adr_value_segment_code
27663: , p_from_combination_id => l_adr_value_combination_id
27699: xla_accounting_err_pkg.build_message
27700: (p_appli_s_name => 'XLA'
27701: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27702: ,p_token_1 => 'LINE_NUMBER'
27703: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27704: ,p_token_2 => 'LINE_TYPE_NAME'
27705: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27706: l_component_type
27707: ,l_component_code
27735: --
27736: --
27737: ------------------------------------------------------------------------------------------------
27738: -- 4219869 Business Flow
27739: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27740: -- Prior Entry. Currently, the following code is always generated.
27741: ------------------------------------------------------------------------------------------------
27742: XLA_AE_LINES_PKG.ValidateCurrentLine;
27743:
27738: -- 4219869 Business Flow
27739: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27740: -- Prior Entry. Currently, the following code is always generated.
27741: ------------------------------------------------------------------------------------------------
27742: XLA_AE_LINES_PKG.ValidateCurrentLine;
27743:
27744: ------------------------------------------------------------------------------------
27745: -- 4219869 Business Flow
27746: -- Populated credit and debit amounts -- Need to generate this within IF
27744: ------------------------------------------------------------------------------------
27745: -- 4219869 Business Flow
27746: -- Populated credit and debit amounts -- Need to generate this within IF
27747: ------------------------------------------------------------------------------------
27748: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27749:
27750: ----------------------------------------------------------------------------------
27751: -- 4219869 Business Flow
27752: -- Update journal entry status -- Need to generate this within IF
27776: -- To allow MPA report to determine if it should generate report process
27777: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27778: ------------------------------------------------------------------------------------------
27779:
27780: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27781: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27782:
27783: --
27784: -- Update the line information that should be overwritten
27777: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27778: ------------------------------------------------------------------------------------------
27779:
27780: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27781: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27782:
27783: --
27784: -- Update the line information that should be overwritten
27785: --
27782:
27783: --
27784: -- Update the line information that should be overwritten
27785: --
27786: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27787: p_header_num => 1);
27788: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27789:
27790: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27784: -- Update the line information that should be overwritten
27785: --
27786: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27787: p_header_num => 1);
27788: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27789:
27790: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27791:
27792: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27786: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27787: p_header_num => 1);
27788: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27789:
27790: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27791:
27792: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27793: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27794: END IF;
27789:
27790: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27791:
27792: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27793: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27794: END IF;
27795:
27796: --
27797: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27796: --
27797: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27798: --
27799: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27800: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27801: ELSE
27802: ---------------------------------------------------------------------------------------------------
27803: -- 4262811a Switch Sign
27804: ---------------------------------------------------------------------------------------------------
27801: ELSE
27802: ---------------------------------------------------------------------------------------------------
27803: -- 4262811a Switch Sign
27804: ---------------------------------------------------------------------------------------------------
27805: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27806: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27802: ---------------------------------------------------------------------------------------------------
27803: -- 4262811a Switch Sign
27804: ---------------------------------------------------------------------------------------------------
27805: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27806: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27803: -- 4262811a Switch Sign
27804: ---------------------------------------------------------------------------------------------------
27805: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27806: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27811: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27804: ---------------------------------------------------------------------------------------------------
27805: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27806: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27811: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27812: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27805: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27806: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27811: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27812: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27813:
27807: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27811: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27812: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27813:
27814: END IF;
27815:
27808: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27809: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27810: -- 5132302
27811: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27812: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27813:
27814: END IF;
27815:
27816: -- 4955764
27813:
27814: END IF;
27815:
27816: -- 4955764
27817: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27818: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27819:
27820:
27821: XLA_AE_LINES_PKG.ValidateCurrentLine;
27817: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27818: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27819:
27820:
27821: XLA_AE_LINES_PKG.ValidateCurrentLine;
27822: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27823:
27824: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27825: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27818: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27819:
27820:
27821: XLA_AE_LINES_PKG.ValidateCurrentLine;
27822: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27823:
27824: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27825: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27826: ,p_balance_type_code => l_balance_type_code);
27981: --
27982: -- bulk performance
27983: --
27984: l_balance_type_code VARCHAR2(1);
27985: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27986: l_log_module VARCHAR2(240);
27987:
27988: --
27989: -- Upgrade strategy
28060: p_source_11 IS NOT NULL
28061: THEN
28062:
28063: --
28064: XLA_AE_LINES_PKG.SetNewLine;
28065:
28066: p_balance_type_code := l_balance_type_code;
28067: -- set the flag so later we will know whether the gain loss line needs to be created
28068:
28072:
28073: --
28074: -- bulk performance
28075: --
28076: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28077: p_header_num => 0); -- 4262811
28078: --
28079: -- set accounting line options
28080: --
28077: p_header_num => 0); -- 4262811
28078: --
28079: -- set accounting line options
28080: --
28081: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28082: p_natural_side_code => 'D'
28083: , p_gain_or_loss_flag => 'N'
28084: , p_gl_transfer_mode_code => 'S'
28085: , p_acct_entry_type_code => 'A'
28091: --
28092: --
28093: -- set accounting line type info
28094: --
28095: xla_ae_lines_pkg.SetAcctLineType
28096: (p_component_type => l_component_type
28097: ,p_event_type_code => l_event_type_code
28098: ,p_line_definition_owner_code => l_line_definition_owner_code
28099: ,p_line_definition_code => l_line_definition_code
28105: ,p_event_class_code => l_event_class_code);
28106: --
28107: -- set accounting class
28108: --
28109: xla_ae_lines_pkg.SetAcctClass(
28110: p_accounting_class_code => 'PURCHASE_ORDER'
28111: , p_ae_header_id => l_ae_header_id
28112: );
28113:
28113:
28114: --
28115: -- set rounding class
28116: --
28117: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28118: 'PURCHASE_ORDER';
28119:
28120: --
28121: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28117: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28118: 'PURCHASE_ORDER';
28119:
28120: --
28121: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28122: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28123: --
28124: -- bulk performance
28125: --
28118: 'PURCHASE_ORDER';
28119:
28120: --
28121: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28122: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28123: --
28124: -- bulk performance
28125: --
28126: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28122: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28123: --
28124: -- bulk performance
28125: --
28126: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28127:
28128: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28129: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28130:
28124: -- bulk performance
28125: --
28126: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28127:
28128: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28129: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28130:
28131: -- 4955764
28132: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28128: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28129: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28130:
28131: -- 4955764
28132: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28133: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28134:
28135: -- 4458381 Public Sector Enh
28136:
28214: l_rec_acct_attrs.array_num_value(31) := p_source_32;
28215: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
28216: l_rec_acct_attrs.array_num_value(32) := p_source_32;
28217:
28218: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28219: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28220:
28221: ---------------------------------------------------------------------------------------------------------------
28222: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28215: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
28216: l_rec_acct_attrs.array_num_value(32) := p_source_32;
28217:
28218: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28219: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28220:
28221: ---------------------------------------------------------------------------------------------------------------
28222: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28223: ---------------------------------------------------------------------------------------------------------------
28218: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28219: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28220:
28221: ---------------------------------------------------------------------------------------------------------------
28222: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28223: ---------------------------------------------------------------------------------------------------------------
28224: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28225:
28226: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28220:
28221: ---------------------------------------------------------------------------------------------------------------
28222: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28223: ---------------------------------------------------------------------------------------------------------------
28224: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28225:
28226: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28227: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28228:
28222: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28223: ---------------------------------------------------------------------------------------------------------------
28224: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28225:
28226: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28227: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28228:
28229: IF xla_accounting_cache_pkg.GetValueChar
28230: (p_source_code => 'LEDGER_CATEGORY_CODE'
28223: ---------------------------------------------------------------------------------------------------------------
28224: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28225:
28226: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28227: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28228:
28229: IF xla_accounting_cache_pkg.GetValueChar
28230: (p_source_code => 'LEDGER_CATEGORY_CODE'
28231: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28234: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28235: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28236: )
28237: THEN
28238: xla_ae_lines_pkg.BflowUpgEntry
28239: (p_business_method_code => l_bflow_method_code
28240: ,p_business_class_code => l_bflow_class_code
28241: ,p_balance_type => l_balance_type_code);
28242: ELSE
28251: --
28252: -- call description
28253: --
28254:
28255: xla_ae_lines_pkg.SetLineDescription(
28256: p_ae_header_id => l_ae_header_id
28257: ,p_description => Description_2 (
28258: p_application_id => p_application_id
28259: , p_ae_header_id => l_ae_header_id
28284: , x_value_type_code => l_adr_value_type_code
28285: , p_side => 'NA'
28286: );
28287:
28288: xla_ae_lines_pkg.set_ccid(
28289: p_code_combination_id => l_ccid
28290: , p_value_type_code => l_adr_value_type_code
28291: , p_transaction_coa_id => l_adr_transaction_coa_id
28292: , p_accounting_coa_id => l_adr_accounting_coa_id
28320: );
28321:
28322: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28323:
28324: xla_ae_lines_pkg.set_segment(
28325: p_to_segment_code => 'GL_ACCOUNT'
28326: , p_segment_value => l_segment
28327: , p_from_segment_code => l_adr_value_segment_code
28328: , p_from_combination_id => l_adr_value_combination_id
28364: xla_accounting_err_pkg.build_message
28365: (p_appli_s_name => 'XLA'
28366: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28367: ,p_token_1 => 'LINE_NUMBER'
28368: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28369: ,p_token_2 => 'LINE_TYPE_NAME'
28370: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28371: l_component_type
28372: ,l_component_code
28400: --
28401: --
28402: ------------------------------------------------------------------------------------------------
28403: -- 4219869 Business Flow
28404: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28405: -- Prior Entry. Currently, the following code is always generated.
28406: ------------------------------------------------------------------------------------------------
28407: XLA_AE_LINES_PKG.ValidateCurrentLine;
28408:
28403: -- 4219869 Business Flow
28404: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28405: -- Prior Entry. Currently, the following code is always generated.
28406: ------------------------------------------------------------------------------------------------
28407: XLA_AE_LINES_PKG.ValidateCurrentLine;
28408:
28409: ------------------------------------------------------------------------------------
28410: -- 4219869 Business Flow
28411: -- Populated credit and debit amounts -- Need to generate this within IF
28409: ------------------------------------------------------------------------------------
28410: -- 4219869 Business Flow
28411: -- Populated credit and debit amounts -- Need to generate this within IF
28412: ------------------------------------------------------------------------------------
28413: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28414:
28415: ----------------------------------------------------------------------------------
28416: -- 4219869 Business Flow
28417: -- Update journal entry status -- Need to generate this within IF
28441: -- To allow MPA report to determine if it should generate report process
28442: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28443: ------------------------------------------------------------------------------------------
28444:
28445: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28446: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28447:
28448: --
28449: -- Update the line information that should be overwritten
28442: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28443: ------------------------------------------------------------------------------------------
28444:
28445: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28446: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28447:
28448: --
28449: -- Update the line information that should be overwritten
28450: --
28447:
28448: --
28449: -- Update the line information that should be overwritten
28450: --
28451: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28452: p_header_num => 1);
28453: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28454:
28455: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28449: -- Update the line information that should be overwritten
28450: --
28451: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28452: p_header_num => 1);
28453: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28454:
28455: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28456:
28457: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28451: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28452: p_header_num => 1);
28453: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28454:
28455: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28456:
28457: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28458: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28459: END IF;
28454:
28455: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28456:
28457: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28458: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28459: END IF;
28460:
28461: --
28462: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28461: --
28462: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28463: --
28464: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28465: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28466: ELSE
28467: ---------------------------------------------------------------------------------------------------
28468: -- 4262811a Switch Sign
28469: ---------------------------------------------------------------------------------------------------
28466: ELSE
28467: ---------------------------------------------------------------------------------------------------
28468: -- 4262811a Switch Sign
28469: ---------------------------------------------------------------------------------------------------
28470: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28471: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28467: ---------------------------------------------------------------------------------------------------
28468: -- 4262811a Switch Sign
28469: ---------------------------------------------------------------------------------------------------
28470: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28471: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28468: -- 4262811a Switch Sign
28469: ---------------------------------------------------------------------------------------------------
28470: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28471: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28476: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28469: ---------------------------------------------------------------------------------------------------
28470: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28471: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28476: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28477: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28470: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28471: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28476: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28477: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28478:
28472: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28476: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28477: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28478:
28479: END IF;
28480:
28473: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28474: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28475: -- 5132302
28476: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28477: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28478:
28479: END IF;
28480:
28481: -- 4955764
28478:
28479: END IF;
28480:
28481: -- 4955764
28482: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28483: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28484:
28485:
28486: XLA_AE_LINES_PKG.ValidateCurrentLine;
28482: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28483: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28484:
28485:
28486: XLA_AE_LINES_PKG.ValidateCurrentLine;
28487: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28488:
28489: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28490: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28483: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28484:
28485:
28486: XLA_AE_LINES_PKG.ValidateCurrentLine;
28487: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28488:
28489: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28490: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28491: ,p_balance_type_code => l_balance_type_code);
28642: --
28643: -- bulk performance
28644: --
28645: l_balance_type_code VARCHAR2(1);
28646: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28647: l_log_module VARCHAR2(240);
28648:
28649: --
28650: -- Upgrade strategy
28722: p_source_39 IS NOT NULL
28723: THEN
28724:
28725: --
28726: XLA_AE_LINES_PKG.SetNewLine;
28727:
28728: p_balance_type_code := l_balance_type_code;
28729: -- set the flag so later we will know whether the gain loss line needs to be created
28730:
28734:
28735: --
28736: -- bulk performance
28737: --
28738: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28739: p_header_num => 0); -- 4262811
28740: --
28741: -- set accounting line options
28742: --
28739: p_header_num => 0); -- 4262811
28740: --
28741: -- set accounting line options
28742: --
28743: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28744: p_natural_side_code => 'C'
28745: , p_gain_or_loss_flag => 'N'
28746: , p_gl_transfer_mode_code => 'S'
28747: , p_acct_entry_type_code => 'A'
28753: --
28754: --
28755: -- set accounting line type info
28756: --
28757: xla_ae_lines_pkg.SetAcctLineType
28758: (p_component_type => l_component_type
28759: ,p_event_type_code => l_event_type_code
28760: ,p_line_definition_owner_code => l_line_definition_owner_code
28761: ,p_line_definition_code => l_line_definition_code
28767: ,p_event_class_code => l_event_class_code);
28768: --
28769: -- set accounting class
28770: --
28771: xla_ae_lines_pkg.SetAcctClass(
28772: p_accounting_class_code => 'PURCHASE_ORDER'
28773: , p_ae_header_id => l_ae_header_id
28774: );
28775:
28775:
28776: --
28777: -- set rounding class
28778: --
28779: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28780: 'PURCHASE_ORDER';
28781:
28782: --
28783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28779: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28780: 'PURCHASE_ORDER';
28781:
28782: --
28783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28785: --
28786: -- bulk performance
28787: --
28780: 'PURCHASE_ORDER';
28781:
28782: --
28783: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28785: --
28786: -- bulk performance
28787: --
28788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28784: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28785: --
28786: -- bulk performance
28787: --
28788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28789:
28790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28792:
28786: -- bulk performance
28787: --
28788: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28789:
28790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28792:
28793: -- 4955764
28794: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28790: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28791: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28792:
28793: -- 4955764
28794: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28795: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28796:
28797: -- 4458381 Public Sector Enh
28798:
28876: l_rec_acct_attrs.array_num_value(31) := p_source_32;
28877: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
28878: l_rec_acct_attrs.array_num_value(32) := p_source_32;
28879:
28880: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28881: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28882:
28883: ---------------------------------------------------------------------------------------------------------------
28884: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28877: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
28878: l_rec_acct_attrs.array_num_value(32) := p_source_32;
28879:
28880: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28881: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28882:
28883: ---------------------------------------------------------------------------------------------------------------
28884: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28885: ---------------------------------------------------------------------------------------------------------------
28880: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28881: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28882:
28883: ---------------------------------------------------------------------------------------------------------------
28884: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28885: ---------------------------------------------------------------------------------------------------------------
28886: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28887:
28888: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28882:
28883: ---------------------------------------------------------------------------------------------------------------
28884: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28885: ---------------------------------------------------------------------------------------------------------------
28886: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28887:
28888: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28889: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28890:
28884: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28885: ---------------------------------------------------------------------------------------------------------------
28886: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28887:
28888: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28889: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28890:
28891: IF xla_accounting_cache_pkg.GetValueChar
28892: (p_source_code => 'LEDGER_CATEGORY_CODE'
28885: ---------------------------------------------------------------------------------------------------------------
28886: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28887:
28888: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28889: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28890:
28891: IF xla_accounting_cache_pkg.GetValueChar
28892: (p_source_code => 'LEDGER_CATEGORY_CODE'
28893: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28896: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28897: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28898: )
28899: THEN
28900: xla_ae_lines_pkg.BflowUpgEntry
28901: (p_business_method_code => l_bflow_method_code
28902: ,p_business_class_code => l_bflow_class_code
28903: ,p_balance_type => l_balance_type_code);
28904: ELSE
28913: --
28914: -- call description
28915: --
28916:
28917: xla_ae_lines_pkg.SetLineDescription(
28918: p_ae_header_id => l_ae_header_id
28919: ,p_description => Description_2 (
28920: p_application_id => p_application_id
28921: , p_ae_header_id => l_ae_header_id
28946: , x_value_type_code => l_adr_value_type_code
28947: , p_side => 'NA'
28948: );
28949:
28950: xla_ae_lines_pkg.set_ccid(
28951: p_code_combination_id => l_ccid
28952: , p_value_type_code => l_adr_value_type_code
28953: , p_transaction_coa_id => l_adr_transaction_coa_id
28954: , p_accounting_coa_id => l_adr_accounting_coa_id
28978: );
28979:
28980: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28981:
28982: xla_ae_lines_pkg.set_segment(
28983: p_to_segment_code => 'GL_ACCOUNT'
28984: , p_segment_value => l_segment
28985: , p_from_segment_code => l_adr_value_segment_code
28986: , p_from_combination_id => l_adr_value_combination_id
29022: xla_accounting_err_pkg.build_message
29023: (p_appli_s_name => 'XLA'
29024: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29025: ,p_token_1 => 'LINE_NUMBER'
29026: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29027: ,p_token_2 => 'LINE_TYPE_NAME'
29028: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29029: l_component_type
29030: ,l_component_code
29058: --
29059: --
29060: ------------------------------------------------------------------------------------------------
29061: -- 4219869 Business Flow
29062: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29063: -- Prior Entry. Currently, the following code is always generated.
29064: ------------------------------------------------------------------------------------------------
29065: XLA_AE_LINES_PKG.ValidateCurrentLine;
29066:
29061: -- 4219869 Business Flow
29062: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29063: -- Prior Entry. Currently, the following code is always generated.
29064: ------------------------------------------------------------------------------------------------
29065: XLA_AE_LINES_PKG.ValidateCurrentLine;
29066:
29067: ------------------------------------------------------------------------------------
29068: -- 4219869 Business Flow
29069: -- Populated credit and debit amounts -- Need to generate this within IF
29067: ------------------------------------------------------------------------------------
29068: -- 4219869 Business Flow
29069: -- Populated credit and debit amounts -- Need to generate this within IF
29070: ------------------------------------------------------------------------------------
29071: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29072:
29073: ----------------------------------------------------------------------------------
29074: -- 4219869 Business Flow
29075: -- Update journal entry status -- Need to generate this within IF
29099: -- To allow MPA report to determine if it should generate report process
29100: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29101: ------------------------------------------------------------------------------------------
29102:
29103: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29104: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29105:
29106: --
29107: -- Update the line information that should be overwritten
29100: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29101: ------------------------------------------------------------------------------------------
29102:
29103: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29104: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29105:
29106: --
29107: -- Update the line information that should be overwritten
29108: --
29105:
29106: --
29107: -- Update the line information that should be overwritten
29108: --
29109: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29110: p_header_num => 1);
29111: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29112:
29113: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29107: -- Update the line information that should be overwritten
29108: --
29109: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29110: p_header_num => 1);
29111: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29112:
29113: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29114:
29115: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29109: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29110: p_header_num => 1);
29111: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29112:
29113: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29114:
29115: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29116: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29117: END IF;
29112:
29113: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29114:
29115: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29116: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29117: END IF;
29118:
29119: --
29120: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29119: --
29120: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29121: --
29122: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29123: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29124: ELSE
29125: ---------------------------------------------------------------------------------------------------
29126: -- 4262811a Switch Sign
29127: ---------------------------------------------------------------------------------------------------
29124: ELSE
29125: ---------------------------------------------------------------------------------------------------
29126: -- 4262811a Switch Sign
29127: ---------------------------------------------------------------------------------------------------
29128: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29125: ---------------------------------------------------------------------------------------------------
29126: -- 4262811a Switch Sign
29127: ---------------------------------------------------------------------------------------------------
29128: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29126: -- 4262811a Switch Sign
29127: ---------------------------------------------------------------------------------------------------
29128: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29134: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29127: ---------------------------------------------------------------------------------------------------
29128: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29134: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29128: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29129: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29134: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29136:
29130: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29134: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29136:
29137: END IF;
29138:
29131: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29132: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29133: -- 5132302
29134: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29135: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29136:
29137: END IF;
29138:
29139: -- 4955764
29136:
29137: END IF;
29138:
29139: -- 4955764
29140: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29141: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29142:
29143:
29144: XLA_AE_LINES_PKG.ValidateCurrentLine;
29140: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29141: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29142:
29143:
29144: XLA_AE_LINES_PKG.ValidateCurrentLine;
29145: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29146:
29147: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29148: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29141: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29142:
29143:
29144: XLA_AE_LINES_PKG.ValidateCurrentLine;
29145: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29146:
29147: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29148: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29149: ,p_balance_type_code => l_balance_type_code);
29304: --
29305: -- bulk performance
29306: --
29307: l_balance_type_code VARCHAR2(1);
29308: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29309: l_log_module VARCHAR2(240);
29310:
29311: --
29312: -- Upgrade strategy
29384: p_source_39 IS NOT NULL
29385: THEN
29386:
29387: --
29388: XLA_AE_LINES_PKG.SetNewLine;
29389:
29390: p_balance_type_code := l_balance_type_code;
29391: -- set the flag so later we will know whether the gain loss line needs to be created
29392:
29396:
29397: --
29398: -- bulk performance
29399: --
29400: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29401: p_header_num => 0); -- 4262811
29402: --
29403: -- set accounting line options
29404: --
29401: p_header_num => 0); -- 4262811
29402: --
29403: -- set accounting line options
29404: --
29405: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29406: p_natural_side_code => 'C'
29407: , p_gain_or_loss_flag => 'N'
29408: , p_gl_transfer_mode_code => 'S'
29409: , p_acct_entry_type_code => 'A'
29415: --
29416: --
29417: -- set accounting line type info
29418: --
29419: xla_ae_lines_pkg.SetAcctLineType
29420: (p_component_type => l_component_type
29421: ,p_event_type_code => l_event_type_code
29422: ,p_line_definition_owner_code => l_line_definition_owner_code
29423: ,p_line_definition_code => l_line_definition_code
29429: ,p_event_class_code => l_event_class_code);
29430: --
29431: -- set accounting class
29432: --
29433: xla_ae_lines_pkg.SetAcctClass(
29434: p_accounting_class_code => 'PURCHASE_ORDER'
29435: , p_ae_header_id => l_ae_header_id
29436: );
29437:
29437:
29438: --
29439: -- set rounding class
29440: --
29441: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29442: 'PURCHASE_ORDER';
29443:
29444: --
29445: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29441: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29442: 'PURCHASE_ORDER';
29443:
29444: --
29445: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29446: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29447: --
29448: -- bulk performance
29449: --
29442: 'PURCHASE_ORDER';
29443:
29444: --
29445: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29446: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29447: --
29448: -- bulk performance
29449: --
29450: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29446: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29447: --
29448: -- bulk performance
29449: --
29450: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29451:
29452: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29453: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29454:
29448: -- bulk performance
29449: --
29450: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29451:
29452: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29453: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29454:
29455: -- 4955764
29456: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29452: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29453: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29454:
29455: -- 4955764
29456: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29457: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29458:
29459: -- 4458381 Public Sector Enh
29460:
29538: l_rec_acct_attrs.array_num_value(31) := p_source_32;
29539: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
29540: l_rec_acct_attrs.array_num_value(32) := p_source_32;
29541:
29542: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29543: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29544:
29545: ---------------------------------------------------------------------------------------------------------------
29546: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29539: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
29540: l_rec_acct_attrs.array_num_value(32) := p_source_32;
29541:
29542: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29543: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29544:
29545: ---------------------------------------------------------------------------------------------------------------
29546: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29547: ---------------------------------------------------------------------------------------------------------------
29542: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29543: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29544:
29545: ---------------------------------------------------------------------------------------------------------------
29546: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29547: ---------------------------------------------------------------------------------------------------------------
29548: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29549:
29550: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29544:
29545: ---------------------------------------------------------------------------------------------------------------
29546: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29547: ---------------------------------------------------------------------------------------------------------------
29548: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29549:
29550: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29551: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29552:
29546: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29547: ---------------------------------------------------------------------------------------------------------------
29548: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29549:
29550: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29551: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29552:
29553: IF xla_accounting_cache_pkg.GetValueChar
29554: (p_source_code => 'LEDGER_CATEGORY_CODE'
29547: ---------------------------------------------------------------------------------------------------------------
29548: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29549:
29550: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29551: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29552:
29553: IF xla_accounting_cache_pkg.GetValueChar
29554: (p_source_code => 'LEDGER_CATEGORY_CODE'
29555: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29558: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29559: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29560: )
29561: THEN
29562: xla_ae_lines_pkg.BflowUpgEntry
29563: (p_business_method_code => l_bflow_method_code
29564: ,p_business_class_code => l_bflow_class_code
29565: ,p_balance_type => l_balance_type_code);
29566: ELSE
29575: --
29576: -- call description
29577: --
29578:
29579: xla_ae_lines_pkg.SetLineDescription(
29580: p_ae_header_id => l_ae_header_id
29581: ,p_description => Description_2 (
29582: p_application_id => p_application_id
29583: , p_ae_header_id => l_ae_header_id
29608: , x_value_type_code => l_adr_value_type_code
29609: , p_side => 'NA'
29610: );
29611:
29612: xla_ae_lines_pkg.set_ccid(
29613: p_code_combination_id => l_ccid
29614: , p_value_type_code => l_adr_value_type_code
29615: , p_transaction_coa_id => l_adr_transaction_coa_id
29616: , p_accounting_coa_id => l_adr_accounting_coa_id
29641: );
29642:
29643: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29644:
29645: xla_ae_lines_pkg.set_segment(
29646: p_to_segment_code => 'GL_ACCOUNT'
29647: , p_segment_value => l_segment
29648: , p_from_segment_code => l_adr_value_segment_code
29649: , p_from_combination_id => l_adr_value_combination_id
29685: xla_accounting_err_pkg.build_message
29686: (p_appli_s_name => 'XLA'
29687: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29688: ,p_token_1 => 'LINE_NUMBER'
29689: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29690: ,p_token_2 => 'LINE_TYPE_NAME'
29691: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29692: l_component_type
29693: ,l_component_code
29721: --
29722: --
29723: ------------------------------------------------------------------------------------------------
29724: -- 4219869 Business Flow
29725: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29726: -- Prior Entry. Currently, the following code is always generated.
29727: ------------------------------------------------------------------------------------------------
29728: XLA_AE_LINES_PKG.ValidateCurrentLine;
29729:
29724: -- 4219869 Business Flow
29725: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29726: -- Prior Entry. Currently, the following code is always generated.
29727: ------------------------------------------------------------------------------------------------
29728: XLA_AE_LINES_PKG.ValidateCurrentLine;
29729:
29730: ------------------------------------------------------------------------------------
29731: -- 4219869 Business Flow
29732: -- Populated credit and debit amounts -- Need to generate this within IF
29730: ------------------------------------------------------------------------------------
29731: -- 4219869 Business Flow
29732: -- Populated credit and debit amounts -- Need to generate this within IF
29733: ------------------------------------------------------------------------------------
29734: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29735:
29736: ----------------------------------------------------------------------------------
29737: -- 4219869 Business Flow
29738: -- Update journal entry status -- Need to generate this within IF
29762: -- To allow MPA report to determine if it should generate report process
29763: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29764: ------------------------------------------------------------------------------------------
29765:
29766: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29767: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29768:
29769: --
29770: -- Update the line information that should be overwritten
29763: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29764: ------------------------------------------------------------------------------------------
29765:
29766: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29767: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29768:
29769: --
29770: -- Update the line information that should be overwritten
29771: --
29768:
29769: --
29770: -- Update the line information that should be overwritten
29771: --
29772: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29773: p_header_num => 1);
29774: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29775:
29776: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29770: -- Update the line information that should be overwritten
29771: --
29772: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29773: p_header_num => 1);
29774: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29775:
29776: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29777:
29778: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29772: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29773: p_header_num => 1);
29774: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29775:
29776: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29777:
29778: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29779: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29780: END IF;
29775:
29776: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29777:
29778: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29779: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29780: END IF;
29781:
29782: --
29783: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29782: --
29783: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29784: --
29785: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29786: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29787: ELSE
29788: ---------------------------------------------------------------------------------------------------
29789: -- 4262811a Switch Sign
29790: ---------------------------------------------------------------------------------------------------
29787: ELSE
29788: ---------------------------------------------------------------------------------------------------
29789: -- 4262811a Switch Sign
29790: ---------------------------------------------------------------------------------------------------
29791: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29788: ---------------------------------------------------------------------------------------------------
29789: -- 4262811a Switch Sign
29790: ---------------------------------------------------------------------------------------------------
29791: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29789: -- 4262811a Switch Sign
29790: ---------------------------------------------------------------------------------------------------
29791: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29790: ---------------------------------------------------------------------------------------------------
29791: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29798: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29791: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29798: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29799:
29793: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29798: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29799:
29800: END IF;
29801:
29794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29795: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29796: -- 5132302
29797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29798: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29799:
29800: END IF;
29801:
29802: -- 4955764
29799:
29800: END IF;
29801:
29802: -- 4955764
29803: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29804: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29805:
29806:
29807: XLA_AE_LINES_PKG.ValidateCurrentLine;
29803: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29804: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29805:
29806:
29807: XLA_AE_LINES_PKG.ValidateCurrentLine;
29808: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29809:
29810: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29811: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29804: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29805:
29806:
29807: XLA_AE_LINES_PKG.ValidateCurrentLine;
29808: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29809:
29810: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29811: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29812: ,p_balance_type_code => l_balance_type_code);
29965: --
29966: -- bulk performance
29967: --
29968: l_balance_type_code VARCHAR2(1);
29969: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29970: l_log_module VARCHAR2(240);
29971:
29972: --
29973: -- Upgrade strategy
30042: ') = 'Y'
30043: THEN
30044:
30045: --
30046: XLA_AE_LINES_PKG.SetNewLine;
30047:
30048: p_balance_type_code := l_balance_type_code;
30049: -- set the flag so later we will know whether the gain loss line needs to be created
30050:
30054:
30055: --
30056: -- bulk performance
30057: --
30058: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30059: p_header_num => 0); -- 4262811
30060: --
30061: -- set accounting line options
30062: --
30059: p_header_num => 0); -- 4262811
30060: --
30061: -- set accounting line options
30062: --
30063: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30064: p_natural_side_code => 'C'
30065: , p_gain_or_loss_flag => 'N'
30066: , p_gl_transfer_mode_code => 'S'
30067: , p_acct_entry_type_code => 'A'
30073: --
30074: --
30075: -- set accounting line type info
30076: --
30077: xla_ae_lines_pkg.SetAcctLineType
30078: (p_component_type => l_component_type
30079: ,p_event_type_code => l_event_type_code
30080: ,p_line_definition_owner_code => l_line_definition_owner_code
30081: ,p_line_definition_code => l_line_definition_code
30087: ,p_event_class_code => l_event_class_code);
30088: --
30089: -- set accounting class
30090: --
30091: xla_ae_lines_pkg.SetAcctClass(
30092: p_accounting_class_code => 'PURCHASE_ORDER'
30093: , p_ae_header_id => l_ae_header_id
30094: );
30095:
30095:
30096: --
30097: -- set rounding class
30098: --
30099: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30100: 'PURCHASE_ORDER';
30101:
30102: --
30103: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30099: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30100: 'PURCHASE_ORDER';
30101:
30102: --
30103: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30104: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30105: --
30106: -- bulk performance
30107: --
30100: 'PURCHASE_ORDER';
30101:
30102: --
30103: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30104: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30105: --
30106: -- bulk performance
30107: --
30108: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30104: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30105: --
30106: -- bulk performance
30107: --
30108: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30109:
30110: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30111: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30112:
30106: -- bulk performance
30107: --
30108: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30109:
30110: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30111: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30112:
30113: -- 4955764
30114: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30110: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30111: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30112:
30113: -- 4955764
30114: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30115: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30116:
30117: -- 4458381 Public Sector Enh
30118:
30196: l_rec_acct_attrs.array_num_value(31) := p_source_32;
30197: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
30198: l_rec_acct_attrs.array_num_value(32) := p_source_32;
30199:
30200: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30201: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30202:
30203: ---------------------------------------------------------------------------------------------------------------
30204: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30197: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
30198: l_rec_acct_attrs.array_num_value(32) := p_source_32;
30199:
30200: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30201: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30202:
30203: ---------------------------------------------------------------------------------------------------------------
30204: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30205: ---------------------------------------------------------------------------------------------------------------
30200: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30201: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30202:
30203: ---------------------------------------------------------------------------------------------------------------
30204: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30205: ---------------------------------------------------------------------------------------------------------------
30206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30207:
30208: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30202:
30203: ---------------------------------------------------------------------------------------------------------------
30204: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30205: ---------------------------------------------------------------------------------------------------------------
30206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30207:
30208: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30209: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30210:
30204: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30205: ---------------------------------------------------------------------------------------------------------------
30206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30207:
30208: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30209: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30210:
30211: IF xla_accounting_cache_pkg.GetValueChar
30212: (p_source_code => 'LEDGER_CATEGORY_CODE'
30205: ---------------------------------------------------------------------------------------------------------------
30206: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30207:
30208: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30209: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30210:
30211: IF xla_accounting_cache_pkg.GetValueChar
30212: (p_source_code => 'LEDGER_CATEGORY_CODE'
30213: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30216: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30217: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30218: )
30219: THEN
30220: xla_ae_lines_pkg.BflowUpgEntry
30221: (p_business_method_code => l_bflow_method_code
30222: ,p_business_class_code => l_bflow_class_code
30223: ,p_balance_type => l_balance_type_code);
30224: ELSE
30233: --
30234: -- call description
30235: --
30236:
30237: xla_ae_lines_pkg.SetLineDescription(
30238: p_ae_header_id => l_ae_header_id
30239: ,p_description => Description_2 (
30240: p_application_id => p_application_id
30241: , p_ae_header_id => l_ae_header_id
30266: , x_value_type_code => l_adr_value_type_code
30267: , p_side => 'NA'
30268: );
30269:
30270: xla_ae_lines_pkg.set_ccid(
30271: p_code_combination_id => l_ccid
30272: , p_value_type_code => l_adr_value_type_code
30273: , p_transaction_coa_id => l_adr_transaction_coa_id
30274: , p_accounting_coa_id => l_adr_accounting_coa_id
30302: );
30303:
30304: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30305:
30306: xla_ae_lines_pkg.set_segment(
30307: p_to_segment_code => 'GL_ACCOUNT'
30308: , p_segment_value => l_segment
30309: , p_from_segment_code => l_adr_value_segment_code
30310: , p_from_combination_id => l_adr_value_combination_id
30346: xla_accounting_err_pkg.build_message
30347: (p_appli_s_name => 'XLA'
30348: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30349: ,p_token_1 => 'LINE_NUMBER'
30350: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30351: ,p_token_2 => 'LINE_TYPE_NAME'
30352: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30353: l_component_type
30354: ,l_component_code
30382: --
30383: --
30384: ------------------------------------------------------------------------------------------------
30385: -- 4219869 Business Flow
30386: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30387: -- Prior Entry. Currently, the following code is always generated.
30388: ------------------------------------------------------------------------------------------------
30389: XLA_AE_LINES_PKG.ValidateCurrentLine;
30390:
30385: -- 4219869 Business Flow
30386: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30387: -- Prior Entry. Currently, the following code is always generated.
30388: ------------------------------------------------------------------------------------------------
30389: XLA_AE_LINES_PKG.ValidateCurrentLine;
30390:
30391: ------------------------------------------------------------------------------------
30392: -- 4219869 Business Flow
30393: -- Populated credit and debit amounts -- Need to generate this within IF
30391: ------------------------------------------------------------------------------------
30392: -- 4219869 Business Flow
30393: -- Populated credit and debit amounts -- Need to generate this within IF
30394: ------------------------------------------------------------------------------------
30395: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30396:
30397: ----------------------------------------------------------------------------------
30398: -- 4219869 Business Flow
30399: -- Update journal entry status -- Need to generate this within IF
30423: -- To allow MPA report to determine if it should generate report process
30424: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30425: ------------------------------------------------------------------------------------------
30426:
30427: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30428: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30429:
30430: --
30431: -- Update the line information that should be overwritten
30424: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30425: ------------------------------------------------------------------------------------------
30426:
30427: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30428: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30429:
30430: --
30431: -- Update the line information that should be overwritten
30432: --
30429:
30430: --
30431: -- Update the line information that should be overwritten
30432: --
30433: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30434: p_header_num => 1);
30435: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30436:
30437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30431: -- Update the line information that should be overwritten
30432: --
30433: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30434: p_header_num => 1);
30435: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30436:
30437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30438:
30439: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30433: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30434: p_header_num => 1);
30435: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30436:
30437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30438:
30439: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30440: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30441: END IF;
30436:
30437: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30438:
30439: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30440: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30441: END IF;
30442:
30443: --
30444: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30443: --
30444: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30445: --
30446: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30447: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30448: ELSE
30449: ---------------------------------------------------------------------------------------------------
30450: -- 4262811a Switch Sign
30451: ---------------------------------------------------------------------------------------------------
30448: ELSE
30449: ---------------------------------------------------------------------------------------------------
30450: -- 4262811a Switch Sign
30451: ---------------------------------------------------------------------------------------------------
30452: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30453: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30449: ---------------------------------------------------------------------------------------------------
30450: -- 4262811a Switch Sign
30451: ---------------------------------------------------------------------------------------------------
30452: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30453: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30450: -- 4262811a Switch Sign
30451: ---------------------------------------------------------------------------------------------------
30452: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30453: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30458: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30451: ---------------------------------------------------------------------------------------------------
30452: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30453: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30458: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30459: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30452: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30453: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30458: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30459: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30460:
30454: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30458: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30459: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30460:
30461: END IF;
30462:
30455: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30456: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30457: -- 5132302
30458: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30459: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30460:
30461: END IF;
30462:
30463: -- 4955764
30460:
30461: END IF;
30462:
30463: -- 4955764
30464: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30465: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30466:
30467:
30468: XLA_AE_LINES_PKG.ValidateCurrentLine;
30464: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30465: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30466:
30467:
30468: XLA_AE_LINES_PKG.ValidateCurrentLine;
30469: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30470:
30471: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30472: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30465: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30466:
30467:
30468: XLA_AE_LINES_PKG.ValidateCurrentLine;
30469: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30470:
30471: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30472: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30473: ,p_balance_type_code => l_balance_type_code);
30622: --
30623: -- bulk performance
30624: --
30625: l_balance_type_code VARCHAR2(1);
30626: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30627: l_log_module VARCHAR2(240);
30628:
30629: --
30630: -- Upgrade strategy
30699: ') = 'Y'
30700: THEN
30701:
30702: --
30703: XLA_AE_LINES_PKG.SetNewLine;
30704:
30705: p_balance_type_code := l_balance_type_code;
30706: -- set the flag so later we will know whether the gain loss line needs to be created
30707:
30711:
30712: --
30713: -- bulk performance
30714: --
30715: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30716: p_header_num => 0); -- 4262811
30717: --
30718: -- set accounting line options
30719: --
30716: p_header_num => 0); -- 4262811
30717: --
30718: -- set accounting line options
30719: --
30720: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30721: p_natural_side_code => 'D'
30722: , p_gain_or_loss_flag => 'N'
30723: , p_gl_transfer_mode_code => 'S'
30724: , p_acct_entry_type_code => 'A'
30730: --
30731: --
30732: -- set accounting line type info
30733: --
30734: xla_ae_lines_pkg.SetAcctLineType
30735: (p_component_type => l_component_type
30736: ,p_event_type_code => l_event_type_code
30737: ,p_line_definition_owner_code => l_line_definition_owner_code
30738: ,p_line_definition_code => l_line_definition_code
30744: ,p_event_class_code => l_event_class_code);
30745: --
30746: -- set accounting class
30747: --
30748: xla_ae_lines_pkg.SetAcctClass(
30749: p_accounting_class_code => 'PURCHASE_ORDER'
30750: , p_ae_header_id => l_ae_header_id
30751: );
30752:
30752:
30753: --
30754: -- set rounding class
30755: --
30756: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30757: 'PURCHASE_ORDER';
30758:
30759: --
30760: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30756: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30757: 'PURCHASE_ORDER';
30758:
30759: --
30760: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30761: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30762: --
30763: -- bulk performance
30764: --
30757: 'PURCHASE_ORDER';
30758:
30759: --
30760: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30761: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30762: --
30763: -- bulk performance
30764: --
30765: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30761: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30762: --
30763: -- bulk performance
30764: --
30765: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30766:
30767: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30768: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30769:
30763: -- bulk performance
30764: --
30765: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30766:
30767: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30768: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30769:
30770: -- 4955764
30771: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30767: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30768: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30769:
30770: -- 4955764
30771: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30772: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30773:
30774: -- 4458381 Public Sector Enh
30775:
30853: l_rec_acct_attrs.array_num_value(31) := p_source_32;
30854: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
30855: l_rec_acct_attrs.array_num_value(32) := p_source_32;
30856:
30857: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30858: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30859:
30860: ---------------------------------------------------------------------------------------------------------------
30861: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30854: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
30855: l_rec_acct_attrs.array_num_value(32) := p_source_32;
30856:
30857: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30858: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30859:
30860: ---------------------------------------------------------------------------------------------------------------
30861: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30862: ---------------------------------------------------------------------------------------------------------------
30857: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30858: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30859:
30860: ---------------------------------------------------------------------------------------------------------------
30861: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30862: ---------------------------------------------------------------------------------------------------------------
30863: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30864:
30865: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30859:
30860: ---------------------------------------------------------------------------------------------------------------
30861: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30862: ---------------------------------------------------------------------------------------------------------------
30863: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30864:
30865: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30866: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30867:
30861: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30862: ---------------------------------------------------------------------------------------------------------------
30863: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30864:
30865: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30866: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30867:
30868: IF xla_accounting_cache_pkg.GetValueChar
30869: (p_source_code => 'LEDGER_CATEGORY_CODE'
30862: ---------------------------------------------------------------------------------------------------------------
30863: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30864:
30865: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30866: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30867:
30868: IF xla_accounting_cache_pkg.GetValueChar
30869: (p_source_code => 'LEDGER_CATEGORY_CODE'
30870: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30873: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30874: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30875: )
30876: THEN
30877: xla_ae_lines_pkg.BflowUpgEntry
30878: (p_business_method_code => l_bflow_method_code
30879: ,p_business_class_code => l_bflow_class_code
30880: ,p_balance_type => l_balance_type_code);
30881: ELSE
30890: --
30891: -- call description
30892: --
30893:
30894: xla_ae_lines_pkg.SetLineDescription(
30895: p_ae_header_id => l_ae_header_id
30896: ,p_description => Description_2 (
30897: p_application_id => p_application_id
30898: , p_ae_header_id => l_ae_header_id
30923: , x_value_type_code => l_adr_value_type_code
30924: , p_side => 'NA'
30925: );
30926:
30927: xla_ae_lines_pkg.set_ccid(
30928: p_code_combination_id => l_ccid
30929: , p_value_type_code => l_adr_value_type_code
30930: , p_transaction_coa_id => l_adr_transaction_coa_id
30931: , p_accounting_coa_id => l_adr_accounting_coa_id
30956: );
30957:
30958: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30959:
30960: xla_ae_lines_pkg.set_segment(
30961: p_to_segment_code => 'GL_ACCOUNT'
30962: , p_segment_value => l_segment
30963: , p_from_segment_code => l_adr_value_segment_code
30964: , p_from_combination_id => l_adr_value_combination_id
31000: xla_accounting_err_pkg.build_message
31001: (p_appli_s_name => 'XLA'
31002: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31003: ,p_token_1 => 'LINE_NUMBER'
31004: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31005: ,p_token_2 => 'LINE_TYPE_NAME'
31006: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31007: l_component_type
31008: ,l_component_code
31036: --
31037: --
31038: ------------------------------------------------------------------------------------------------
31039: -- 4219869 Business Flow
31040: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31041: -- Prior Entry. Currently, the following code is always generated.
31042: ------------------------------------------------------------------------------------------------
31043: XLA_AE_LINES_PKG.ValidateCurrentLine;
31044:
31039: -- 4219869 Business Flow
31040: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31041: -- Prior Entry. Currently, the following code is always generated.
31042: ------------------------------------------------------------------------------------------------
31043: XLA_AE_LINES_PKG.ValidateCurrentLine;
31044:
31045: ------------------------------------------------------------------------------------
31046: -- 4219869 Business Flow
31047: -- Populated credit and debit amounts -- Need to generate this within IF
31045: ------------------------------------------------------------------------------------
31046: -- 4219869 Business Flow
31047: -- Populated credit and debit amounts -- Need to generate this within IF
31048: ------------------------------------------------------------------------------------
31049: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31050:
31051: ----------------------------------------------------------------------------------
31052: -- 4219869 Business Flow
31053: -- Update journal entry status -- Need to generate this within IF
31077: -- To allow MPA report to determine if it should generate report process
31078: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31079: ------------------------------------------------------------------------------------------
31080:
31081: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31082: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31083:
31084: --
31085: -- Update the line information that should be overwritten
31078: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31079: ------------------------------------------------------------------------------------------
31080:
31081: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31082: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31083:
31084: --
31085: -- Update the line information that should be overwritten
31086: --
31083:
31084: --
31085: -- Update the line information that should be overwritten
31086: --
31087: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31088: p_header_num => 1);
31089: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31090:
31091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31085: -- Update the line information that should be overwritten
31086: --
31087: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31088: p_header_num => 1);
31089: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31090:
31091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31092:
31093: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31087: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31088: p_header_num => 1);
31089: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31090:
31091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31092:
31093: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31094: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31095: END IF;
31090:
31091: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31092:
31093: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31094: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31095: END IF;
31096:
31097: --
31098: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31097: --
31098: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31099: --
31100: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31101: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31102: ELSE
31103: ---------------------------------------------------------------------------------------------------
31104: -- 4262811a Switch Sign
31105: ---------------------------------------------------------------------------------------------------
31102: ELSE
31103: ---------------------------------------------------------------------------------------------------
31104: -- 4262811a Switch Sign
31105: ---------------------------------------------------------------------------------------------------
31106: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31107: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31103: ---------------------------------------------------------------------------------------------------
31104: -- 4262811a Switch Sign
31105: ---------------------------------------------------------------------------------------------------
31106: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31107: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31104: -- 4262811a Switch Sign
31105: ---------------------------------------------------------------------------------------------------
31106: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31107: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31112: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31105: ---------------------------------------------------------------------------------------------------
31106: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31107: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31112: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31113: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31106: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31107: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31112: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31113: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31114:
31108: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31112: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31113: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31114:
31115: END IF;
31116:
31109: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31110: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31111: -- 5132302
31112: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31113: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31114:
31115: END IF;
31116:
31117: -- 4955764
31114:
31115: END IF;
31116:
31117: -- 4955764
31118: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31119: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31120:
31121:
31122: XLA_AE_LINES_PKG.ValidateCurrentLine;
31118: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31119: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31120:
31121:
31122: XLA_AE_LINES_PKG.ValidateCurrentLine;
31123: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31124:
31125: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31126: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31119: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31120:
31121:
31122: XLA_AE_LINES_PKG.ValidateCurrentLine;
31123: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31124:
31125: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31126: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31127: ,p_balance_type_code => l_balance_type_code);
31276: --
31277: -- bulk performance
31278: --
31279: l_balance_type_code VARCHAR2(1);
31280: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31281: l_log_module VARCHAR2(240);
31282:
31283: --
31284: -- Upgrade strategy
31355: p_source_40 IS NOT NULL
31356: THEN
31357:
31358: --
31359: XLA_AE_LINES_PKG.SetNewLine;
31360:
31361: p_balance_type_code := l_balance_type_code;
31362: -- set the flag so later we will know whether the gain loss line needs to be created
31363:
31367:
31368: --
31369: -- bulk performance
31370: --
31371: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31372: p_header_num => 0); -- 4262811
31373: --
31374: -- set accounting line options
31375: --
31372: p_header_num => 0); -- 4262811
31373: --
31374: -- set accounting line options
31375: --
31376: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31377: p_natural_side_code => 'C'
31378: , p_gain_or_loss_flag => 'N'
31379: , p_gl_transfer_mode_code => 'S'
31380: , p_acct_entry_type_code => 'A'
31386: --
31387: --
31388: -- set accounting line type info
31389: --
31390: xla_ae_lines_pkg.SetAcctLineType
31391: (p_component_type => l_component_type
31392: ,p_event_type_code => l_event_type_code
31393: ,p_line_definition_owner_code => l_line_definition_owner_code
31394: ,p_line_definition_code => l_line_definition_code
31400: ,p_event_class_code => l_event_class_code);
31401: --
31402: -- set accounting class
31403: --
31404: xla_ae_lines_pkg.SetAcctClass(
31405: p_accounting_class_code => 'PURCHASE_ORDER'
31406: , p_ae_header_id => l_ae_header_id
31407: );
31408:
31408:
31409: --
31410: -- set rounding class
31411: --
31412: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31413: 'PURCHASE_ORDER';
31414:
31415: --
31416: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31412: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31413: 'PURCHASE_ORDER';
31414:
31415: --
31416: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31417: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31418: --
31419: -- bulk performance
31420: --
31413: 'PURCHASE_ORDER';
31414:
31415: --
31416: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31417: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31418: --
31419: -- bulk performance
31420: --
31421: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31417: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31418: --
31419: -- bulk performance
31420: --
31421: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31422:
31423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31424: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31425:
31419: -- bulk performance
31420: --
31421: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31422:
31423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31424: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31425:
31426: -- 4955764
31427: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31424: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31425:
31426: -- 4955764
31427: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31428: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31429:
31430: -- 4458381 Public Sector Enh
31431:
31509: l_rec_acct_attrs.array_num_value(31) := p_source_32;
31510: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
31511: l_rec_acct_attrs.array_num_value(32) := p_source_32;
31512:
31513: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31514: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31515:
31516: ---------------------------------------------------------------------------------------------------------------
31517: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31510: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
31511: l_rec_acct_attrs.array_num_value(32) := p_source_32;
31512:
31513: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31514: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31515:
31516: ---------------------------------------------------------------------------------------------------------------
31517: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31518: ---------------------------------------------------------------------------------------------------------------
31513: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31514: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31515:
31516: ---------------------------------------------------------------------------------------------------------------
31517: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31518: ---------------------------------------------------------------------------------------------------------------
31519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31520:
31521: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31515:
31516: ---------------------------------------------------------------------------------------------------------------
31517: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31518: ---------------------------------------------------------------------------------------------------------------
31519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31520:
31521: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31522: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31523:
31517: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31518: ---------------------------------------------------------------------------------------------------------------
31519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31520:
31521: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31522: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31523:
31524: IF xla_accounting_cache_pkg.GetValueChar
31525: (p_source_code => 'LEDGER_CATEGORY_CODE'
31518: ---------------------------------------------------------------------------------------------------------------
31519: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31520:
31521: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31522: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31523:
31524: IF xla_accounting_cache_pkg.GetValueChar
31525: (p_source_code => 'LEDGER_CATEGORY_CODE'
31526: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31529: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31530: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31531: )
31532: THEN
31533: xla_ae_lines_pkg.BflowUpgEntry
31534: (p_business_method_code => l_bflow_method_code
31535: ,p_business_class_code => l_bflow_class_code
31536: ,p_balance_type => l_balance_type_code);
31537: ELSE
31546: --
31547: -- call description
31548: --
31549:
31550: xla_ae_lines_pkg.SetLineDescription(
31551: p_ae_header_id => l_ae_header_id
31552: ,p_description => Description_2 (
31553: p_application_id => p_application_id
31554: , p_ae_header_id => l_ae_header_id
31579: , x_value_type_code => l_adr_value_type_code
31580: , p_side => 'NA'
31581: );
31582:
31583: xla_ae_lines_pkg.set_ccid(
31584: p_code_combination_id => l_ccid
31585: , p_value_type_code => l_adr_value_type_code
31586: , p_transaction_coa_id => l_adr_transaction_coa_id
31587: , p_accounting_coa_id => l_adr_accounting_coa_id
31611: );
31612:
31613: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
31614:
31615: xla_ae_lines_pkg.set_segment(
31616: p_to_segment_code => 'GL_ACCOUNT'
31617: , p_segment_value => l_segment
31618: , p_from_segment_code => l_adr_value_segment_code
31619: , p_from_combination_id => l_adr_value_combination_id
31655: xla_accounting_err_pkg.build_message
31656: (p_appli_s_name => 'XLA'
31657: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31658: ,p_token_1 => 'LINE_NUMBER'
31659: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31660: ,p_token_2 => 'LINE_TYPE_NAME'
31661: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31662: l_component_type
31663: ,l_component_code
31691: --
31692: --
31693: ------------------------------------------------------------------------------------------------
31694: -- 4219869 Business Flow
31695: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31696: -- Prior Entry. Currently, the following code is always generated.
31697: ------------------------------------------------------------------------------------------------
31698: XLA_AE_LINES_PKG.ValidateCurrentLine;
31699:
31694: -- 4219869 Business Flow
31695: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31696: -- Prior Entry. Currently, the following code is always generated.
31697: ------------------------------------------------------------------------------------------------
31698: XLA_AE_LINES_PKG.ValidateCurrentLine;
31699:
31700: ------------------------------------------------------------------------------------
31701: -- 4219869 Business Flow
31702: -- Populated credit and debit amounts -- Need to generate this within IF
31700: ------------------------------------------------------------------------------------
31701: -- 4219869 Business Flow
31702: -- Populated credit and debit amounts -- Need to generate this within IF
31703: ------------------------------------------------------------------------------------
31704: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31705:
31706: ----------------------------------------------------------------------------------
31707: -- 4219869 Business Flow
31708: -- Update journal entry status -- Need to generate this within IF
31732: -- To allow MPA report to determine if it should generate report process
31733: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31734: ------------------------------------------------------------------------------------------
31735:
31736: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31737: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31738:
31739: --
31740: -- Update the line information that should be overwritten
31733: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31734: ------------------------------------------------------------------------------------------
31735:
31736: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31737: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31738:
31739: --
31740: -- Update the line information that should be overwritten
31741: --
31738:
31739: --
31740: -- Update the line information that should be overwritten
31741: --
31742: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31743: p_header_num => 1);
31744: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31745:
31746: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31740: -- Update the line information that should be overwritten
31741: --
31742: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31743: p_header_num => 1);
31744: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31745:
31746: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31747:
31748: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31742: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31743: p_header_num => 1);
31744: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31745:
31746: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31747:
31748: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31749: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31750: END IF;
31745:
31746: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31747:
31748: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31749: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31750: END IF;
31751:
31752: --
31753: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31752: --
31753: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31754: --
31755: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31756: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31757: ELSE
31758: ---------------------------------------------------------------------------------------------------
31759: -- 4262811a Switch Sign
31760: ---------------------------------------------------------------------------------------------------
31757: ELSE
31758: ---------------------------------------------------------------------------------------------------
31759: -- 4262811a Switch Sign
31760: ---------------------------------------------------------------------------------------------------
31761: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31758: ---------------------------------------------------------------------------------------------------
31759: -- 4262811a Switch Sign
31760: ---------------------------------------------------------------------------------------------------
31761: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31759: -- 4262811a Switch Sign
31760: ---------------------------------------------------------------------------------------------------
31761: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31760: ---------------------------------------------------------------------------------------------------
31761: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31761: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31769:
31763: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31769:
31770: END IF;
31771:
31764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31765: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766: -- 5132302
31767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31768: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31769:
31770: END IF;
31771:
31772: -- 4955764
31769:
31770: END IF;
31771:
31772: -- 4955764
31773: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31774: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31775:
31776:
31777: XLA_AE_LINES_PKG.ValidateCurrentLine;
31773: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31774: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31775:
31776:
31777: XLA_AE_LINES_PKG.ValidateCurrentLine;
31778: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31779:
31780: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31781: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31774: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31775:
31776:
31777: XLA_AE_LINES_PKG.ValidateCurrentLine;
31778: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31779:
31780: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31781: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31782: ,p_balance_type_code => l_balance_type_code);
31935: --
31936: -- bulk performance
31937: --
31938: l_balance_type_code VARCHAR2(1);
31939: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31940: l_log_module VARCHAR2(240);
31941:
31942: --
31943: -- Upgrade strategy
32014: p_source_40 IS NOT NULL
32015: THEN
32016:
32017: --
32018: XLA_AE_LINES_PKG.SetNewLine;
32019:
32020: p_balance_type_code := l_balance_type_code;
32021: -- set the flag so later we will know whether the gain loss line needs to be created
32022:
32026:
32027: --
32028: -- bulk performance
32029: --
32030: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32031: p_header_num => 0); -- 4262811
32032: --
32033: -- set accounting line options
32034: --
32031: p_header_num => 0); -- 4262811
32032: --
32033: -- set accounting line options
32034: --
32035: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32036: p_natural_side_code => 'D'
32037: , p_gain_or_loss_flag => 'N'
32038: , p_gl_transfer_mode_code => 'S'
32039: , p_acct_entry_type_code => 'A'
32045: --
32046: --
32047: -- set accounting line type info
32048: --
32049: xla_ae_lines_pkg.SetAcctLineType
32050: (p_component_type => l_component_type
32051: ,p_event_type_code => l_event_type_code
32052: ,p_line_definition_owner_code => l_line_definition_owner_code
32053: ,p_line_definition_code => l_line_definition_code
32059: ,p_event_class_code => l_event_class_code);
32060: --
32061: -- set accounting class
32062: --
32063: xla_ae_lines_pkg.SetAcctClass(
32064: p_accounting_class_code => 'PURCHASE_ORDER'
32065: , p_ae_header_id => l_ae_header_id
32066: );
32067:
32067:
32068: --
32069: -- set rounding class
32070: --
32071: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32072: 'PURCHASE_ORDER';
32073:
32074: --
32075: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32071: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32072: 'PURCHASE_ORDER';
32073:
32074: --
32075: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32076: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32077: --
32078: -- bulk performance
32079: --
32072: 'PURCHASE_ORDER';
32073:
32074: --
32075: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32076: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32077: --
32078: -- bulk performance
32079: --
32080: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32076: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32077: --
32078: -- bulk performance
32079: --
32080: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32081:
32082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32083: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32084:
32078: -- bulk performance
32079: --
32080: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32081:
32082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32083: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32084:
32085: -- 4955764
32086: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32082: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32083: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32084:
32085: -- 4955764
32086: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32087: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32088:
32089: -- 4458381 Public Sector Enh
32090:
32168: l_rec_acct_attrs.array_num_value(31) := p_source_32;
32169: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
32170: l_rec_acct_attrs.array_num_value(32) := p_source_32;
32171:
32172: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32173: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32174:
32175: ---------------------------------------------------------------------------------------------------------------
32176: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32169: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
32170: l_rec_acct_attrs.array_num_value(32) := p_source_32;
32171:
32172: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32173: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32174:
32175: ---------------------------------------------------------------------------------------------------------------
32176: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32177: ---------------------------------------------------------------------------------------------------------------
32172: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32173: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32174:
32175: ---------------------------------------------------------------------------------------------------------------
32176: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32177: ---------------------------------------------------------------------------------------------------------------
32178: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32179:
32180: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32174:
32175: ---------------------------------------------------------------------------------------------------------------
32176: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32177: ---------------------------------------------------------------------------------------------------------------
32178: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32179:
32180: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32181: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32182:
32176: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32177: ---------------------------------------------------------------------------------------------------------------
32178: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32179:
32180: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32181: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32182:
32183: IF xla_accounting_cache_pkg.GetValueChar
32184: (p_source_code => 'LEDGER_CATEGORY_CODE'
32177: ---------------------------------------------------------------------------------------------------------------
32178: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32179:
32180: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32181: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32182:
32183: IF xla_accounting_cache_pkg.GetValueChar
32184: (p_source_code => 'LEDGER_CATEGORY_CODE'
32185: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32188: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32189: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32190: )
32191: THEN
32192: xla_ae_lines_pkg.BflowUpgEntry
32193: (p_business_method_code => l_bflow_method_code
32194: ,p_business_class_code => l_bflow_class_code
32195: ,p_balance_type => l_balance_type_code);
32196: ELSE
32205: --
32206: -- call description
32207: --
32208:
32209: xla_ae_lines_pkg.SetLineDescription(
32210: p_ae_header_id => l_ae_header_id
32211: ,p_description => Description_2 (
32212: p_application_id => p_application_id
32213: , p_ae_header_id => l_ae_header_id
32238: , x_value_type_code => l_adr_value_type_code
32239: , p_side => 'NA'
32240: );
32241:
32242: xla_ae_lines_pkg.set_ccid(
32243: p_code_combination_id => l_ccid
32244: , p_value_type_code => l_adr_value_type_code
32245: , p_transaction_coa_id => l_adr_transaction_coa_id
32246: , p_accounting_coa_id => l_adr_accounting_coa_id
32272: );
32273:
32274: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32275:
32276: xla_ae_lines_pkg.set_segment(
32277: p_to_segment_code => 'GL_ACCOUNT'
32278: , p_segment_value => l_segment
32279: , p_from_segment_code => l_adr_value_segment_code
32280: , p_from_combination_id => l_adr_value_combination_id
32316: xla_accounting_err_pkg.build_message
32317: (p_appli_s_name => 'XLA'
32318: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32319: ,p_token_1 => 'LINE_NUMBER'
32320: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32321: ,p_token_2 => 'LINE_TYPE_NAME'
32322: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32323: l_component_type
32324: ,l_component_code
32352: --
32353: --
32354: ------------------------------------------------------------------------------------------------
32355: -- 4219869 Business Flow
32356: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32357: -- Prior Entry. Currently, the following code is always generated.
32358: ------------------------------------------------------------------------------------------------
32359: XLA_AE_LINES_PKG.ValidateCurrentLine;
32360:
32355: -- 4219869 Business Flow
32356: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32357: -- Prior Entry. Currently, the following code is always generated.
32358: ------------------------------------------------------------------------------------------------
32359: XLA_AE_LINES_PKG.ValidateCurrentLine;
32360:
32361: ------------------------------------------------------------------------------------
32362: -- 4219869 Business Flow
32363: -- Populated credit and debit amounts -- Need to generate this within IF
32361: ------------------------------------------------------------------------------------
32362: -- 4219869 Business Flow
32363: -- Populated credit and debit amounts -- Need to generate this within IF
32364: ------------------------------------------------------------------------------------
32365: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32366:
32367: ----------------------------------------------------------------------------------
32368: -- 4219869 Business Flow
32369: -- Update journal entry status -- Need to generate this within IF
32393: -- To allow MPA report to determine if it should generate report process
32394: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32395: ------------------------------------------------------------------------------------------
32396:
32397: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32398: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32399:
32400: --
32401: -- Update the line information that should be overwritten
32394: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32395: ------------------------------------------------------------------------------------------
32396:
32397: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32398: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32399:
32400: --
32401: -- Update the line information that should be overwritten
32402: --
32399:
32400: --
32401: -- Update the line information that should be overwritten
32402: --
32403: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32404: p_header_num => 1);
32405: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32406:
32407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32401: -- Update the line information that should be overwritten
32402: --
32403: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32404: p_header_num => 1);
32405: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32406:
32407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32408:
32409: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32403: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32404: p_header_num => 1);
32405: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32406:
32407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32408:
32409: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32410: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32411: END IF;
32406:
32407: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32408:
32409: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32410: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32411: END IF;
32412:
32413: --
32414: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32413: --
32414: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32415: --
32416: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32417: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32418: ELSE
32419: ---------------------------------------------------------------------------------------------------
32420: -- 4262811a Switch Sign
32421: ---------------------------------------------------------------------------------------------------
32418: ELSE
32419: ---------------------------------------------------------------------------------------------------
32420: -- 4262811a Switch Sign
32421: ---------------------------------------------------------------------------------------------------
32422: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32419: ---------------------------------------------------------------------------------------------------
32420: -- 4262811a Switch Sign
32421: ---------------------------------------------------------------------------------------------------
32422: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32420: -- 4262811a Switch Sign
32421: ---------------------------------------------------------------------------------------------------
32422: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32428: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32421: ---------------------------------------------------------------------------------------------------
32422: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32428: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32429: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32422: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32423: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32428: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32429: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32430:
32424: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32428: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32429: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32430:
32431: END IF;
32432:
32425: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32426: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32427: -- 5132302
32428: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32429: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32430:
32431: END IF;
32432:
32433: -- 4955764
32430:
32431: END IF;
32432:
32433: -- 4955764
32434: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32435: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32436:
32437:
32438: XLA_AE_LINES_PKG.ValidateCurrentLine;
32434: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32435: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32436:
32437:
32438: XLA_AE_LINES_PKG.ValidateCurrentLine;
32439: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32440:
32441: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32442: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32435: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32436:
32437:
32438: XLA_AE_LINES_PKG.ValidateCurrentLine;
32439: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32440:
32441: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32442: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32443: ,p_balance_type_code => l_balance_type_code);
32584: --
32585: -- bulk performance
32586: --
32587: l_balance_type_code VARCHAR2(1);
32588: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32589: l_log_module VARCHAR2(240);
32590:
32591: --
32592: -- Upgrade strategy
32675: ') = 'B_PA')
32676: THEN
32677:
32678: --
32679: XLA_AE_LINES_PKG.SetNewLine;
32680:
32681: p_balance_type_code := l_balance_type_code;
32682: -- set the flag so later we will know whether the gain loss line needs to be created
32683:
32687:
32688: --
32689: -- bulk performance
32690: --
32691: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32692: p_header_num => 0); -- 4262811
32693: --
32694: -- set accounting line options
32695: --
32692: p_header_num => 0); -- 4262811
32693: --
32694: -- set accounting line options
32695: --
32696: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32697: p_natural_side_code => 'C'
32698: , p_gain_or_loss_flag => 'N'
32699: , p_gl_transfer_mode_code => 'S'
32700: , p_acct_entry_type_code => 'A'
32706: --
32707: --
32708: -- set accounting line type info
32709: --
32710: xla_ae_lines_pkg.SetAcctLineType
32711: (p_component_type => l_component_type
32712: ,p_event_type_code => l_event_type_code
32713: ,p_line_definition_owner_code => l_line_definition_owner_code
32714: ,p_line_definition_code => l_line_definition_code
32720: ,p_event_class_code => l_event_class_code);
32721: --
32722: -- set accounting class
32723: --
32724: xla_ae_lines_pkg.SetAcctClass(
32725: p_accounting_class_code => 'PURCHASE_ORDER'
32726: , p_ae_header_id => l_ae_header_id
32727: );
32728:
32728:
32729: --
32730: -- set rounding class
32731: --
32732: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32733: 'PURCHASE_ORDER';
32734:
32735: --
32736: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32732: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32733: 'PURCHASE_ORDER';
32734:
32735: --
32736: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32737: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32738: --
32739: -- bulk performance
32740: --
32733: 'PURCHASE_ORDER';
32734:
32735: --
32736: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32737: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32738: --
32739: -- bulk performance
32740: --
32741: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32737: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32738: --
32739: -- bulk performance
32740: --
32741: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32742:
32743: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32744: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32745:
32739: -- bulk performance
32740: --
32741: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32742:
32743: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32744: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32745:
32746: -- 4955764
32747: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32743: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32744: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32745:
32746: -- 4955764
32747: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32748: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32749:
32750: -- 4458381 Public Sector Enh
32751:
32827: l_rec_acct_attrs.array_num_value(30) := p_source_32;
32828: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
32829: l_rec_acct_attrs.array_num_value(31) := p_source_32;
32830:
32831: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32832: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32833:
32834: ---------------------------------------------------------------------------------------------------------------
32835: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32828: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
32829: l_rec_acct_attrs.array_num_value(31) := p_source_32;
32830:
32831: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32832: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32833:
32834: ---------------------------------------------------------------------------------------------------------------
32835: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32836: ---------------------------------------------------------------------------------------------------------------
32831: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32832: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32833:
32834: ---------------------------------------------------------------------------------------------------------------
32835: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32836: ---------------------------------------------------------------------------------------------------------------
32837: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32838:
32839: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32833:
32834: ---------------------------------------------------------------------------------------------------------------
32835: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32836: ---------------------------------------------------------------------------------------------------------------
32837: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32838:
32839: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32840: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32841:
32835: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32836: ---------------------------------------------------------------------------------------------------------------
32837: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32838:
32839: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32840: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32841:
32842: IF xla_accounting_cache_pkg.GetValueChar
32843: (p_source_code => 'LEDGER_CATEGORY_CODE'
32836: ---------------------------------------------------------------------------------------------------------------
32837: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32838:
32839: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32840: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32841:
32842: IF xla_accounting_cache_pkg.GetValueChar
32843: (p_source_code => 'LEDGER_CATEGORY_CODE'
32844: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32847: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32848: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32849: )
32850: THEN
32851: xla_ae_lines_pkg.BflowUpgEntry
32852: (p_business_method_code => l_bflow_method_code
32853: ,p_business_class_code => l_bflow_class_code
32854: ,p_balance_type => l_balance_type_code);
32855: ELSE
32853: ,p_business_class_code => l_bflow_class_code
32854: ,p_balance_type => l_balance_type_code);
32855: ELSE
32856: NULL;
32857: XLA_AE_LINES_PKG.business_flow_validation(
32858: p_business_method_code => l_bflow_method_code
32859: ,p_business_class_code => l_bflow_class_code
32860: ,p_inherit_description_flag => l_inherit_desc_flag);
32861: END IF;
32900: xla_accounting_err_pkg.build_message
32901: (p_appli_s_name => 'XLA'
32902: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32903: ,p_token_1 => 'LINE_NUMBER'
32904: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32905: ,p_token_2 => 'LINE_TYPE_NAME'
32906: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32907: l_component_type
32908: ,l_component_code
32936: --
32937: --
32938: ------------------------------------------------------------------------------------------------
32939: -- 4219869 Business Flow
32940: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32941: -- Prior Entry. Currently, the following code is always generated.
32942: ------------------------------------------------------------------------------------------------
32943: -- No ValidateCurrentLine for business flow method of Prior Entry
32944:
32945: ------------------------------------------------------------------------------------
32946: -- 4219869 Business Flow
32947: -- Populated credit and debit amounts -- Need to generate this within IF
32948: ------------------------------------------------------------------------------------
32949: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32950:
32951: ----------------------------------------------------------------------------------
32952: -- 4219869 Business Flow
32953: -- Update journal entry status -- Need to generate this within IF
32977: -- To allow MPA report to determine if it should generate report process
32978: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32979: ------------------------------------------------------------------------------------------
32980:
32981: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32982: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32983:
32984: --
32985: -- Update the line information that should be overwritten
32978: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32979: ------------------------------------------------------------------------------------------
32980:
32981: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32982: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32983:
32984: --
32985: -- Update the line information that should be overwritten
32986: --
32983:
32984: --
32985: -- Update the line information that should be overwritten
32986: --
32987: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32988: p_header_num => 1);
32989: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32990:
32991: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32985: -- Update the line information that should be overwritten
32986: --
32987: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32988: p_header_num => 1);
32989: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32990:
32991: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32992:
32993: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32987: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32988: p_header_num => 1);
32989: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32990:
32991: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32992:
32993: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32994: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32995: END IF;
32990:
32991: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32992:
32993: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32994: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32995: END IF;
32996:
32997: --
32998: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32997: --
32998: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32999: --
33000: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33001: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33002: ELSE
33003: ---------------------------------------------------------------------------------------------------
33004: -- 4262811a Switch Sign
33005: ---------------------------------------------------------------------------------------------------
33002: ELSE
33003: ---------------------------------------------------------------------------------------------------
33004: -- 4262811a Switch Sign
33005: ---------------------------------------------------------------------------------------------------
33006: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33007: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33003: ---------------------------------------------------------------------------------------------------
33004: -- 4262811a Switch Sign
33005: ---------------------------------------------------------------------------------------------------
33006: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33007: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33004: -- 4262811a Switch Sign
33005: ---------------------------------------------------------------------------------------------------
33006: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33007: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33012: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33005: ---------------------------------------------------------------------------------------------------
33006: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33007: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33012: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33013: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33006: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33007: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33012: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33013: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33014:
33008: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33012: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33013: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33014:
33015: END IF;
33016:
33009: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33010: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33011: -- 5132302
33012: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33013: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33014:
33015: END IF;
33016:
33017: -- 4955764
33014:
33015: END IF;
33016:
33017: -- 4955764
33018: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33019: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33020:
33021:
33022: XLA_AE_LINES_PKG.ValidateCurrentLine;
33018: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33019: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33020:
33021:
33022: XLA_AE_LINES_PKG.ValidateCurrentLine;
33023: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33024:
33025: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33026: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33019: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33020:
33021:
33022: XLA_AE_LINES_PKG.ValidateCurrentLine;
33023: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33024:
33025: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33026: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33027: ,p_balance_type_code => l_balance_type_code);
33170: --
33171: -- bulk performance
33172: --
33173: l_balance_type_code VARCHAR2(1);
33174: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33175: l_log_module VARCHAR2(240);
33176:
33177: --
33178: -- Upgrade strategy
33261: ') = 'B_PA')
33262: THEN
33263:
33264: --
33265: XLA_AE_LINES_PKG.SetNewLine;
33266:
33267: p_balance_type_code := l_balance_type_code;
33268: -- set the flag so later we will know whether the gain loss line needs to be created
33269:
33273:
33274: --
33275: -- bulk performance
33276: --
33277: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33278: p_header_num => 0); -- 4262811
33279: --
33280: -- set accounting line options
33281: --
33278: p_header_num => 0); -- 4262811
33279: --
33280: -- set accounting line options
33281: --
33282: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33283: p_natural_side_code => 'D'
33284: , p_gain_or_loss_flag => 'N'
33285: , p_gl_transfer_mode_code => 'S'
33286: , p_acct_entry_type_code => 'A'
33292: --
33293: --
33294: -- set accounting line type info
33295: --
33296: xla_ae_lines_pkg.SetAcctLineType
33297: (p_component_type => l_component_type
33298: ,p_event_type_code => l_event_type_code
33299: ,p_line_definition_owner_code => l_line_definition_owner_code
33300: ,p_line_definition_code => l_line_definition_code
33306: ,p_event_class_code => l_event_class_code);
33307: --
33308: -- set accounting class
33309: --
33310: xla_ae_lines_pkg.SetAcctClass(
33311: p_accounting_class_code => 'PURCHASE_ORDER'
33312: , p_ae_header_id => l_ae_header_id
33313: );
33314:
33314:
33315: --
33316: -- set rounding class
33317: --
33318: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33319: 'PURCHASE_ORDER';
33320:
33321: --
33322: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33318: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33319: 'PURCHASE_ORDER';
33320:
33321: --
33322: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33323: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33324: --
33325: -- bulk performance
33326: --
33319: 'PURCHASE_ORDER';
33320:
33321: --
33322: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33323: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33324: --
33325: -- bulk performance
33326: --
33327: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33323: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33324: --
33325: -- bulk performance
33326: --
33327: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33328:
33329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33330: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33331:
33325: -- bulk performance
33326: --
33327: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33328:
33329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33330: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33331:
33332: -- 4955764
33333: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33330: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33331:
33332: -- 4955764
33333: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33334: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33335:
33336: -- 4458381 Public Sector Enh
33337:
33413: l_rec_acct_attrs.array_num_value(30) := p_source_32;
33414: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
33415: l_rec_acct_attrs.array_num_value(31) := p_source_32;
33416:
33417: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33418: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33419:
33420: ---------------------------------------------------------------------------------------------------------------
33421: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33414: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
33415: l_rec_acct_attrs.array_num_value(31) := p_source_32;
33416:
33417: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33418: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33419:
33420: ---------------------------------------------------------------------------------------------------------------
33421: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33422: ---------------------------------------------------------------------------------------------------------------
33417: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33418: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33419:
33420: ---------------------------------------------------------------------------------------------------------------
33421: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33422: ---------------------------------------------------------------------------------------------------------------
33423: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33424:
33425: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33419:
33420: ---------------------------------------------------------------------------------------------------------------
33421: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33422: ---------------------------------------------------------------------------------------------------------------
33423: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33424:
33425: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33426: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33427:
33421: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33422: ---------------------------------------------------------------------------------------------------------------
33423: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33424:
33425: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33426: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33427:
33428: IF xla_accounting_cache_pkg.GetValueChar
33429: (p_source_code => 'LEDGER_CATEGORY_CODE'
33422: ---------------------------------------------------------------------------------------------------------------
33423: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33424:
33425: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33426: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33427:
33428: IF xla_accounting_cache_pkg.GetValueChar
33429: (p_source_code => 'LEDGER_CATEGORY_CODE'
33430: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33433: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33434: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33435: )
33436: THEN
33437: xla_ae_lines_pkg.BflowUpgEntry
33438: (p_business_method_code => l_bflow_method_code
33439: ,p_business_class_code => l_bflow_class_code
33440: ,p_balance_type => l_balance_type_code);
33441: ELSE
33439: ,p_business_class_code => l_bflow_class_code
33440: ,p_balance_type => l_balance_type_code);
33441: ELSE
33442: NULL;
33443: XLA_AE_LINES_PKG.business_flow_validation(
33444: p_business_method_code => l_bflow_method_code
33445: ,p_business_class_code => l_bflow_class_code
33446: ,p_inherit_description_flag => l_inherit_desc_flag);
33447: END IF;
33486: xla_accounting_err_pkg.build_message
33487: (p_appli_s_name => 'XLA'
33488: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33489: ,p_token_1 => 'LINE_NUMBER'
33490: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33491: ,p_token_2 => 'LINE_TYPE_NAME'
33492: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33493: l_component_type
33494: ,l_component_code
33522: --
33523: --
33524: ------------------------------------------------------------------------------------------------
33525: -- 4219869 Business Flow
33526: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33527: -- Prior Entry. Currently, the following code is always generated.
33528: ------------------------------------------------------------------------------------------------
33529: -- No ValidateCurrentLine for business flow method of Prior Entry
33530:
33531: ------------------------------------------------------------------------------------
33532: -- 4219869 Business Flow
33533: -- Populated credit and debit amounts -- Need to generate this within IF
33534: ------------------------------------------------------------------------------------
33535: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33536:
33537: ----------------------------------------------------------------------------------
33538: -- 4219869 Business Flow
33539: -- Update journal entry status -- Need to generate this within IF
33563: -- To allow MPA report to determine if it should generate report process
33564: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33565: ------------------------------------------------------------------------------------------
33566:
33567: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33568: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33569:
33570: --
33571: -- Update the line information that should be overwritten
33564: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33565: ------------------------------------------------------------------------------------------
33566:
33567: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33568: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33569:
33570: --
33571: -- Update the line information that should be overwritten
33572: --
33569:
33570: --
33571: -- Update the line information that should be overwritten
33572: --
33573: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33574: p_header_num => 1);
33575: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33576:
33577: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33571: -- Update the line information that should be overwritten
33572: --
33573: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33574: p_header_num => 1);
33575: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33576:
33577: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33578:
33579: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33573: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33574: p_header_num => 1);
33575: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33576:
33577: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33578:
33579: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33580: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33581: END IF;
33576:
33577: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33578:
33579: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33580: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33581: END IF;
33582:
33583: --
33584: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33583: --
33584: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33585: --
33586: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33587: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33588: ELSE
33589: ---------------------------------------------------------------------------------------------------
33590: -- 4262811a Switch Sign
33591: ---------------------------------------------------------------------------------------------------
33588: ELSE
33589: ---------------------------------------------------------------------------------------------------
33590: -- 4262811a Switch Sign
33591: ---------------------------------------------------------------------------------------------------
33592: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33593: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33589: ---------------------------------------------------------------------------------------------------
33590: -- 4262811a Switch Sign
33591: ---------------------------------------------------------------------------------------------------
33592: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33593: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33590: -- 4262811a Switch Sign
33591: ---------------------------------------------------------------------------------------------------
33592: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33593: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33598: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33591: ---------------------------------------------------------------------------------------------------
33592: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33593: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33598: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33599: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33592: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33593: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33598: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33599: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33600:
33594: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33598: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33599: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33600:
33601: END IF;
33602:
33595: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33596: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33597: -- 5132302
33598: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33599: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33600:
33601: END IF;
33602:
33603: -- 4955764
33600:
33601: END IF;
33602:
33603: -- 4955764
33604: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33605: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33606:
33607:
33608: XLA_AE_LINES_PKG.ValidateCurrentLine;
33604: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33605: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33606:
33607:
33608: XLA_AE_LINES_PKG.ValidateCurrentLine;
33609: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33610:
33611: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33612: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33605: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33606:
33607:
33608: XLA_AE_LINES_PKG.ValidateCurrentLine;
33609: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33610:
33611: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33612: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33613: ,p_balance_type_code => l_balance_type_code);
33756: --
33757: -- bulk performance
33758: --
33759: l_balance_type_code VARCHAR2(1);
33760: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33761: l_log_module VARCHAR2(240);
33762:
33763: --
33764: -- Upgrade strategy
33845: ') = 'B_REQ'
33846: THEN
33847:
33848: --
33849: XLA_AE_LINES_PKG.SetNewLine;
33850:
33851: p_balance_type_code := l_balance_type_code;
33852: -- set the flag so later we will know whether the gain loss line needs to be created
33853:
33857:
33858: --
33859: -- bulk performance
33860: --
33861: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33862: p_header_num => 0); -- 4262811
33863: --
33864: -- set accounting line options
33865: --
33862: p_header_num => 0); -- 4262811
33863: --
33864: -- set accounting line options
33865: --
33866: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33867: p_natural_side_code => 'C'
33868: , p_gain_or_loss_flag => 'N'
33869: , p_gl_transfer_mode_code => 'S'
33870: , p_acct_entry_type_code => 'A'
33876: --
33877: --
33878: -- set accounting line type info
33879: --
33880: xla_ae_lines_pkg.SetAcctLineType
33881: (p_component_type => l_component_type
33882: ,p_event_type_code => l_event_type_code
33883: ,p_line_definition_owner_code => l_line_definition_owner_code
33884: ,p_line_definition_code => l_line_definition_code
33890: ,p_event_class_code => l_event_class_code);
33891: --
33892: -- set accounting class
33893: --
33894: xla_ae_lines_pkg.SetAcctClass(
33895: p_accounting_class_code => 'PURCHASE_ORDER'
33896: , p_ae_header_id => l_ae_header_id
33897: );
33898:
33898:
33899: --
33900: -- set rounding class
33901: --
33902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33903: 'PURCHASE_ORDER';
33904:
33905: --
33906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33902: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33903: 'PURCHASE_ORDER';
33904:
33905: --
33906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33908: --
33909: -- bulk performance
33910: --
33903: 'PURCHASE_ORDER';
33904:
33905: --
33906: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33908: --
33909: -- bulk performance
33910: --
33911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33907: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33908: --
33909: -- bulk performance
33910: --
33911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33912:
33913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33915:
33909: -- bulk performance
33910: --
33911: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33912:
33913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33915:
33916: -- 4955764
33917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33913: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33914: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33915:
33916: -- 4955764
33917: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33918: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33919:
33920: -- 4458381 Public Sector Enh
33921:
33997: l_rec_acct_attrs.array_num_value(30) := p_source_32;
33998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
33999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
34000:
34001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34003:
34004: ---------------------------------------------------------------------------------------------------------------
34005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33998: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
33999: l_rec_acct_attrs.array_num_value(31) := p_source_32;
34000:
34001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34003:
34004: ---------------------------------------------------------------------------------------------------------------
34005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34006: ---------------------------------------------------------------------------------------------------------------
34001: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34002: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34003:
34004: ---------------------------------------------------------------------------------------------------------------
34005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34006: ---------------------------------------------------------------------------------------------------------------
34007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34008:
34009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34003:
34004: ---------------------------------------------------------------------------------------------------------------
34005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34006: ---------------------------------------------------------------------------------------------------------------
34007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34008:
34009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34011:
34005: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34006: ---------------------------------------------------------------------------------------------------------------
34007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34008:
34009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34011:
34012: IF xla_accounting_cache_pkg.GetValueChar
34013: (p_source_code => 'LEDGER_CATEGORY_CODE'
34006: ---------------------------------------------------------------------------------------------------------------
34007: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34008:
34009: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34010: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34011:
34012: IF xla_accounting_cache_pkg.GetValueChar
34013: (p_source_code => 'LEDGER_CATEGORY_CODE'
34014: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34017: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34018: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34019: )
34020: THEN
34021: xla_ae_lines_pkg.BflowUpgEntry
34022: (p_business_method_code => l_bflow_method_code
34023: ,p_business_class_code => l_bflow_class_code
34024: ,p_balance_type => l_balance_type_code);
34025: ELSE
34023: ,p_business_class_code => l_bflow_class_code
34024: ,p_balance_type => l_balance_type_code);
34025: ELSE
34026: NULL;
34027: XLA_AE_LINES_PKG.business_flow_validation(
34028: p_business_method_code => l_bflow_method_code
34029: ,p_business_class_code => l_bflow_class_code
34030: ,p_inherit_description_flag => l_inherit_desc_flag);
34031: END IF;
34070: xla_accounting_err_pkg.build_message
34071: (p_appli_s_name => 'XLA'
34072: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34073: ,p_token_1 => 'LINE_NUMBER'
34074: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34075: ,p_token_2 => 'LINE_TYPE_NAME'
34076: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34077: l_component_type
34078: ,l_component_code
34106: --
34107: --
34108: ------------------------------------------------------------------------------------------------
34109: -- 4219869 Business Flow
34110: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34111: -- Prior Entry. Currently, the following code is always generated.
34112: ------------------------------------------------------------------------------------------------
34113: -- No ValidateCurrentLine for business flow method of Prior Entry
34114:
34115: ------------------------------------------------------------------------------------
34116: -- 4219869 Business Flow
34117: -- Populated credit and debit amounts -- Need to generate this within IF
34118: ------------------------------------------------------------------------------------
34119: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34120:
34121: ----------------------------------------------------------------------------------
34122: -- 4219869 Business Flow
34123: -- Update journal entry status -- Need to generate this within IF
34147: -- To allow MPA report to determine if it should generate report process
34148: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34149: ------------------------------------------------------------------------------------------
34150:
34151: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34152: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34153:
34154: --
34155: -- Update the line information that should be overwritten
34148: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34149: ------------------------------------------------------------------------------------------
34150:
34151: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34152: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34153:
34154: --
34155: -- Update the line information that should be overwritten
34156: --
34153:
34154: --
34155: -- Update the line information that should be overwritten
34156: --
34157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34158: p_header_num => 1);
34159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34160:
34161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34155: -- Update the line information that should be overwritten
34156: --
34157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34158: p_header_num => 1);
34159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34160:
34161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34162:
34163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34157: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34158: p_header_num => 1);
34159: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34160:
34161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34162:
34163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34165: END IF;
34160:
34161: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34162:
34163: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34164: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34165: END IF;
34166:
34167: --
34168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34167: --
34168: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34169: --
34170: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34171: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34172: ELSE
34173: ---------------------------------------------------------------------------------------------------
34174: -- 4262811a Switch Sign
34175: ---------------------------------------------------------------------------------------------------
34172: ELSE
34173: ---------------------------------------------------------------------------------------------------
34174: -- 4262811a Switch Sign
34175: ---------------------------------------------------------------------------------------------------
34176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34173: ---------------------------------------------------------------------------------------------------
34174: -- 4262811a Switch Sign
34175: ---------------------------------------------------------------------------------------------------
34176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34174: -- 4262811a Switch Sign
34175: ---------------------------------------------------------------------------------------------------
34176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34175: ---------------------------------------------------------------------------------------------------
34176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34176: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34177: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34184:
34178: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34184:
34185: END IF;
34186:
34179: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34180: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34181: -- 5132302
34182: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34183: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34184:
34185: END IF;
34186:
34187: -- 4955764
34184:
34185: END IF;
34186:
34187: -- 4955764
34188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34190:
34191:
34192: XLA_AE_LINES_PKG.ValidateCurrentLine;
34188: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34190:
34191:
34192: XLA_AE_LINES_PKG.ValidateCurrentLine;
34193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34194:
34195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34189: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34190:
34191:
34192: XLA_AE_LINES_PKG.ValidateCurrentLine;
34193: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34194:
34195: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34196: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34197: ,p_balance_type_code => l_balance_type_code);
34340: --
34341: -- bulk performance
34342: --
34343: l_balance_type_code VARCHAR2(1);
34344: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34345: l_log_module VARCHAR2(240);
34346:
34347: --
34348: -- Upgrade strategy
34429: ') = 'B_REQ'
34430: THEN
34431:
34432: --
34433: XLA_AE_LINES_PKG.SetNewLine;
34434:
34435: p_balance_type_code := l_balance_type_code;
34436: -- set the flag so later we will know whether the gain loss line needs to be created
34437:
34441:
34442: --
34443: -- bulk performance
34444: --
34445: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34446: p_header_num => 0); -- 4262811
34447: --
34448: -- set accounting line options
34449: --
34446: p_header_num => 0); -- 4262811
34447: --
34448: -- set accounting line options
34449: --
34450: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34451: p_natural_side_code => 'D'
34452: , p_gain_or_loss_flag => 'N'
34453: , p_gl_transfer_mode_code => 'S'
34454: , p_acct_entry_type_code => 'A'
34460: --
34461: --
34462: -- set accounting line type info
34463: --
34464: xla_ae_lines_pkg.SetAcctLineType
34465: (p_component_type => l_component_type
34466: ,p_event_type_code => l_event_type_code
34467: ,p_line_definition_owner_code => l_line_definition_owner_code
34468: ,p_line_definition_code => l_line_definition_code
34474: ,p_event_class_code => l_event_class_code);
34475: --
34476: -- set accounting class
34477: --
34478: xla_ae_lines_pkg.SetAcctClass(
34479: p_accounting_class_code => 'PURCHASE_ORDER'
34480: , p_ae_header_id => l_ae_header_id
34481: );
34482:
34482:
34483: --
34484: -- set rounding class
34485: --
34486: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34487: 'PURCHASE_ORDER';
34488:
34489: --
34490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34486: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34487: 'PURCHASE_ORDER';
34488:
34489: --
34490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34492: --
34493: -- bulk performance
34494: --
34487: 'PURCHASE_ORDER';
34488:
34489: --
34490: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34492: --
34493: -- bulk performance
34494: --
34495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34491: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34492: --
34493: -- bulk performance
34494: --
34495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34496:
34497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34499:
34493: -- bulk performance
34494: --
34495: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34496:
34497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34499:
34500: -- 4955764
34501: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34497: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34498: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34499:
34500: -- 4955764
34501: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34502: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34503:
34504: -- 4458381 Public Sector Enh
34505:
34581: l_rec_acct_attrs.array_num_value(30) := p_source_32;
34582: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
34583: l_rec_acct_attrs.array_num_value(31) := p_source_32;
34584:
34585: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34586: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34587:
34588: ---------------------------------------------------------------------------------------------------------------
34589: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34582: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
34583: l_rec_acct_attrs.array_num_value(31) := p_source_32;
34584:
34585: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34586: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34587:
34588: ---------------------------------------------------------------------------------------------------------------
34589: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34590: ---------------------------------------------------------------------------------------------------------------
34585: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34586: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34587:
34588: ---------------------------------------------------------------------------------------------------------------
34589: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34590: ---------------------------------------------------------------------------------------------------------------
34591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34592:
34593: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34587:
34588: ---------------------------------------------------------------------------------------------------------------
34589: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34590: ---------------------------------------------------------------------------------------------------------------
34591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34592:
34593: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34594: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34595:
34589: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34590: ---------------------------------------------------------------------------------------------------------------
34591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34592:
34593: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34594: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34595:
34596: IF xla_accounting_cache_pkg.GetValueChar
34597: (p_source_code => 'LEDGER_CATEGORY_CODE'
34590: ---------------------------------------------------------------------------------------------------------------
34591: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34592:
34593: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34594: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34595:
34596: IF xla_accounting_cache_pkg.GetValueChar
34597: (p_source_code => 'LEDGER_CATEGORY_CODE'
34598: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34601: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34602: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34603: )
34604: THEN
34605: xla_ae_lines_pkg.BflowUpgEntry
34606: (p_business_method_code => l_bflow_method_code
34607: ,p_business_class_code => l_bflow_class_code
34608: ,p_balance_type => l_balance_type_code);
34609: ELSE
34607: ,p_business_class_code => l_bflow_class_code
34608: ,p_balance_type => l_balance_type_code);
34609: ELSE
34610: NULL;
34611: XLA_AE_LINES_PKG.business_flow_validation(
34612: p_business_method_code => l_bflow_method_code
34613: ,p_business_class_code => l_bflow_class_code
34614: ,p_inherit_description_flag => l_inherit_desc_flag);
34615: END IF;
34654: xla_accounting_err_pkg.build_message
34655: (p_appli_s_name => 'XLA'
34656: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34657: ,p_token_1 => 'LINE_NUMBER'
34658: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34659: ,p_token_2 => 'LINE_TYPE_NAME'
34660: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34661: l_component_type
34662: ,l_component_code
34690: --
34691: --
34692: ------------------------------------------------------------------------------------------------
34693: -- 4219869 Business Flow
34694: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34695: -- Prior Entry. Currently, the following code is always generated.
34696: ------------------------------------------------------------------------------------------------
34697: -- No ValidateCurrentLine for business flow method of Prior Entry
34698:
34699: ------------------------------------------------------------------------------------
34700: -- 4219869 Business Flow
34701: -- Populated credit and debit amounts -- Need to generate this within IF
34702: ------------------------------------------------------------------------------------
34703: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34704:
34705: ----------------------------------------------------------------------------------
34706: -- 4219869 Business Flow
34707: -- Update journal entry status -- Need to generate this within IF
34731: -- To allow MPA report to determine if it should generate report process
34732: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34733: ------------------------------------------------------------------------------------------
34734:
34735: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34736: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34737:
34738: --
34739: -- Update the line information that should be overwritten
34732: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34733: ------------------------------------------------------------------------------------------
34734:
34735: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34736: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34737:
34738: --
34739: -- Update the line information that should be overwritten
34740: --
34737:
34738: --
34739: -- Update the line information that should be overwritten
34740: --
34741: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34742: p_header_num => 1);
34743: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34744:
34745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34739: -- Update the line information that should be overwritten
34740: --
34741: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34742: p_header_num => 1);
34743: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34744:
34745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34746:
34747: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34741: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34742: p_header_num => 1);
34743: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34744:
34745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34746:
34747: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34748: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34749: END IF;
34744:
34745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34746:
34747: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34748: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34749: END IF;
34750:
34751: --
34752: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34751: --
34752: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34753: --
34754: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34755: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34756: ELSE
34757: ---------------------------------------------------------------------------------------------------
34758: -- 4262811a Switch Sign
34759: ---------------------------------------------------------------------------------------------------
34756: ELSE
34757: ---------------------------------------------------------------------------------------------------
34758: -- 4262811a Switch Sign
34759: ---------------------------------------------------------------------------------------------------
34760: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34761: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34757: ---------------------------------------------------------------------------------------------------
34758: -- 4262811a Switch Sign
34759: ---------------------------------------------------------------------------------------------------
34760: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34761: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34758: -- 4262811a Switch Sign
34759: ---------------------------------------------------------------------------------------------------
34760: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34761: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34766: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34759: ---------------------------------------------------------------------------------------------------
34760: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34761: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34766: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34760: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34761: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34766: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34768:
34762: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34766: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34768:
34769: END IF;
34770:
34763: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34764: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34765: -- 5132302
34766: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34767: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34768:
34769: END IF;
34770:
34771: -- 4955764
34768:
34769: END IF;
34770:
34771: -- 4955764
34772: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34773: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34774:
34775:
34776: XLA_AE_LINES_PKG.ValidateCurrentLine;
34772: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34773: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34774:
34775:
34776: XLA_AE_LINES_PKG.ValidateCurrentLine;
34777: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34778:
34779: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34780: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34773: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34774:
34775:
34776: XLA_AE_LINES_PKG.ValidateCurrentLine;
34777: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34778:
34779: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34780: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34781: ,p_balance_type_code => l_balance_type_code);
34936: --
34937: -- bulk performance
34938: --
34939: l_balance_type_code VARCHAR2(1);
34940: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34941: l_log_module VARCHAR2(240);
34942:
34943: --
34944: -- Upgrade strategy
35013: ') = 'B_PA')
35014: THEN
35015:
35016: --
35017: XLA_AE_LINES_PKG.SetNewLine;
35018:
35019: p_balance_type_code := l_balance_type_code;
35020: -- set the flag so later we will know whether the gain loss line needs to be created
35021:
35025:
35026: --
35027: -- bulk performance
35028: --
35029: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35030: p_header_num => 0); -- 4262811
35031: --
35032: -- set accounting line options
35033: --
35030: p_header_num => 0); -- 4262811
35031: --
35032: -- set accounting line options
35033: --
35034: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35035: p_natural_side_code => 'C'
35036: , p_gain_or_loss_flag => 'N'
35037: , p_gl_transfer_mode_code => 'S'
35038: , p_acct_entry_type_code => 'A'
35044: --
35045: --
35046: -- set accounting line type info
35047: --
35048: xla_ae_lines_pkg.SetAcctLineType
35049: (p_component_type => l_component_type
35050: ,p_event_type_code => l_event_type_code
35051: ,p_line_definition_owner_code => l_line_definition_owner_code
35052: ,p_line_definition_code => l_line_definition_code
35058: ,p_event_class_code => l_event_class_code);
35059: --
35060: -- set accounting class
35061: --
35062: xla_ae_lines_pkg.SetAcctClass(
35063: p_accounting_class_code => 'PURCHASE_ORDER'
35064: , p_ae_header_id => l_ae_header_id
35065: );
35066:
35066:
35067: --
35068: -- set rounding class
35069: --
35070: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35071: 'PURCHASE_ORDER';
35072:
35073: --
35074: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35070: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35071: 'PURCHASE_ORDER';
35072:
35073: --
35074: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35075: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35076: --
35077: -- bulk performance
35078: --
35071: 'PURCHASE_ORDER';
35072:
35073: --
35074: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35075: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35076: --
35077: -- bulk performance
35078: --
35079: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35075: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35076: --
35077: -- bulk performance
35078: --
35079: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35080:
35081: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35082: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35083:
35077: -- bulk performance
35078: --
35079: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35080:
35081: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35082: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35083:
35084: -- 4955764
35085: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35081: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35082: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35083:
35084: -- 4955764
35085: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35086: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35087:
35088: -- 4458381 Public Sector Enh
35089:
35171: l_rec_acct_attrs.array_num_value(33) := p_source_32;
35172: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
35173: l_rec_acct_attrs.array_num_value(34) := p_source_32;
35174:
35175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35177:
35178: ---------------------------------------------------------------------------------------------------------------
35179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35172: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
35173: l_rec_acct_attrs.array_num_value(34) := p_source_32;
35174:
35175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35177:
35178: ---------------------------------------------------------------------------------------------------------------
35179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35180: ---------------------------------------------------------------------------------------------------------------
35175: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35176: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35177:
35178: ---------------------------------------------------------------------------------------------------------------
35179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35180: ---------------------------------------------------------------------------------------------------------------
35181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35182:
35183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35177:
35178: ---------------------------------------------------------------------------------------------------------------
35179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35180: ---------------------------------------------------------------------------------------------------------------
35181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35182:
35183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35185:
35179: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35180: ---------------------------------------------------------------------------------------------------------------
35181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35182:
35183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35185:
35186: IF xla_accounting_cache_pkg.GetValueChar
35187: (p_source_code => 'LEDGER_CATEGORY_CODE'
35180: ---------------------------------------------------------------------------------------------------------------
35181: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35182:
35183: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35184: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35185:
35186: IF xla_accounting_cache_pkg.GetValueChar
35187: (p_source_code => 'LEDGER_CATEGORY_CODE'
35188: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35191: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35192: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35193: )
35194: THEN
35195: xla_ae_lines_pkg.BflowUpgEntry
35196: (p_business_method_code => l_bflow_method_code
35197: ,p_business_class_code => l_bflow_class_code
35198: ,p_balance_type => l_balance_type_code);
35199: ELSE
35208: --
35209: -- call description
35210: --
35211:
35212: xla_ae_lines_pkg.SetLineDescription(
35213: p_ae_header_id => l_ae_header_id
35214: ,p_description => Description_2 (
35215: p_application_id => p_application_id
35216: , p_ae_header_id => l_ae_header_id
35241: , x_value_type_code => l_adr_value_type_code
35242: , p_side => 'NA'
35243: );
35244:
35245: xla_ae_lines_pkg.set_ccid(
35246: p_code_combination_id => l_ccid
35247: , p_value_type_code => l_adr_value_type_code
35248: , p_transaction_coa_id => l_adr_transaction_coa_id
35249: , p_accounting_coa_id => l_adr_accounting_coa_id
35275: );
35276:
35277: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35278:
35279: xla_ae_lines_pkg.set_segment(
35280: p_to_segment_code => 'GL_ACCOUNT'
35281: , p_segment_value => l_segment
35282: , p_from_segment_code => l_adr_value_segment_code
35283: , p_from_combination_id => l_adr_value_combination_id
35319: xla_accounting_err_pkg.build_message
35320: (p_appli_s_name => 'XLA'
35321: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35322: ,p_token_1 => 'LINE_NUMBER'
35323: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35324: ,p_token_2 => 'LINE_TYPE_NAME'
35325: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35326: l_component_type
35327: ,l_component_code
35355: --
35356: --
35357: ------------------------------------------------------------------------------------------------
35358: -- 4219869 Business Flow
35359: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35360: -- Prior Entry. Currently, the following code is always generated.
35361: ------------------------------------------------------------------------------------------------
35362: XLA_AE_LINES_PKG.ValidateCurrentLine;
35363:
35358: -- 4219869 Business Flow
35359: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35360: -- Prior Entry. Currently, the following code is always generated.
35361: ------------------------------------------------------------------------------------------------
35362: XLA_AE_LINES_PKG.ValidateCurrentLine;
35363:
35364: ------------------------------------------------------------------------------------
35365: -- 4219869 Business Flow
35366: -- Populated credit and debit amounts -- Need to generate this within IF
35364: ------------------------------------------------------------------------------------
35365: -- 4219869 Business Flow
35366: -- Populated credit and debit amounts -- Need to generate this within IF
35367: ------------------------------------------------------------------------------------
35368: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35369:
35370: ----------------------------------------------------------------------------------
35371: -- 4219869 Business Flow
35372: -- Update journal entry status -- Need to generate this within IF
35396: -- To allow MPA report to determine if it should generate report process
35397: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35398: ------------------------------------------------------------------------------------------
35399:
35400: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35401: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35402:
35403: --
35404: -- Update the line information that should be overwritten
35397: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35398: ------------------------------------------------------------------------------------------
35399:
35400: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35401: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35402:
35403: --
35404: -- Update the line information that should be overwritten
35405: --
35402:
35403: --
35404: -- Update the line information that should be overwritten
35405: --
35406: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35407: p_header_num => 1);
35408: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35409:
35410: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35404: -- Update the line information that should be overwritten
35405: --
35406: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35407: p_header_num => 1);
35408: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35409:
35410: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35411:
35412: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35406: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35407: p_header_num => 1);
35408: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35409:
35410: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35411:
35412: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35413: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35414: END IF;
35409:
35410: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35411:
35412: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35413: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35414: END IF;
35415:
35416: --
35417: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35416: --
35417: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35418: --
35419: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35420: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35421: ELSE
35422: ---------------------------------------------------------------------------------------------------
35423: -- 4262811a Switch Sign
35424: ---------------------------------------------------------------------------------------------------
35421: ELSE
35422: ---------------------------------------------------------------------------------------------------
35423: -- 4262811a Switch Sign
35424: ---------------------------------------------------------------------------------------------------
35425: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35422: ---------------------------------------------------------------------------------------------------
35423: -- 4262811a Switch Sign
35424: ---------------------------------------------------------------------------------------------------
35425: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35423: -- 4262811a Switch Sign
35424: ---------------------------------------------------------------------------------------------------
35425: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35431: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35424: ---------------------------------------------------------------------------------------------------
35425: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35431: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35432: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35425: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35426: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35431: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35432: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35433:
35427: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35431: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35432: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35433:
35434: END IF;
35435:
35428: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35429: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35430: -- 5132302
35431: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35432: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35433:
35434: END IF;
35435:
35436: -- 4955764
35433:
35434: END IF;
35435:
35436: -- 4955764
35437: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35438: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35439:
35440:
35441: XLA_AE_LINES_PKG.ValidateCurrentLine;
35437: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35438: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35439:
35440:
35441: XLA_AE_LINES_PKG.ValidateCurrentLine;
35442: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35443:
35444: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35445: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35438: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35439:
35440:
35441: XLA_AE_LINES_PKG.ValidateCurrentLine;
35442: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35443:
35444: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35445: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35446: ,p_balance_type_code => l_balance_type_code);
35597: --
35598: -- bulk performance
35599: --
35600: l_balance_type_code VARCHAR2(1);
35601: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35602: l_log_module VARCHAR2(240);
35603:
35604: --
35605: -- Upgrade strategy
35674: ') = 'B_PA')
35675: THEN
35676:
35677: --
35678: XLA_AE_LINES_PKG.SetNewLine;
35679:
35680: p_balance_type_code := l_balance_type_code;
35681: -- set the flag so later we will know whether the gain loss line needs to be created
35682:
35686:
35687: --
35688: -- bulk performance
35689: --
35690: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35691: p_header_num => 0); -- 4262811
35692: --
35693: -- set accounting line options
35694: --
35691: p_header_num => 0); -- 4262811
35692: --
35693: -- set accounting line options
35694: --
35695: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35696: p_natural_side_code => 'D'
35697: , p_gain_or_loss_flag => 'N'
35698: , p_gl_transfer_mode_code => 'S'
35699: , p_acct_entry_type_code => 'A'
35705: --
35706: --
35707: -- set accounting line type info
35708: --
35709: xla_ae_lines_pkg.SetAcctLineType
35710: (p_component_type => l_component_type
35711: ,p_event_type_code => l_event_type_code
35712: ,p_line_definition_owner_code => l_line_definition_owner_code
35713: ,p_line_definition_code => l_line_definition_code
35719: ,p_event_class_code => l_event_class_code);
35720: --
35721: -- set accounting class
35722: --
35723: xla_ae_lines_pkg.SetAcctClass(
35724: p_accounting_class_code => 'PURCHASE_ORDER'
35725: , p_ae_header_id => l_ae_header_id
35726: );
35727:
35727:
35728: --
35729: -- set rounding class
35730: --
35731: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35732: 'PURCHASE_ORDER';
35733:
35734: --
35735: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35731: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35732: 'PURCHASE_ORDER';
35733:
35734: --
35735: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35736: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35737: --
35738: -- bulk performance
35739: --
35732: 'PURCHASE_ORDER';
35733:
35734: --
35735: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35736: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35737: --
35738: -- bulk performance
35739: --
35740: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35736: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35737: --
35738: -- bulk performance
35739: --
35740: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35741:
35742: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35743: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35744:
35738: -- bulk performance
35739: --
35740: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35741:
35742: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35743: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35744:
35745: -- 4955764
35746: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35742: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35743: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35744:
35745: -- 4955764
35746: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35747: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35748:
35749: -- 4458381 Public Sector Enh
35750:
35832: l_rec_acct_attrs.array_num_value(33) := p_source_32;
35833: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
35834: l_rec_acct_attrs.array_num_value(34) := p_source_32;
35835:
35836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35838:
35839: ---------------------------------------------------------------------------------------------------------------
35840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35833: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
35834: l_rec_acct_attrs.array_num_value(34) := p_source_32;
35835:
35836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35838:
35839: ---------------------------------------------------------------------------------------------------------------
35840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35841: ---------------------------------------------------------------------------------------------------------------
35836: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35837: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35838:
35839: ---------------------------------------------------------------------------------------------------------------
35840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35841: ---------------------------------------------------------------------------------------------------------------
35842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35843:
35844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35838:
35839: ---------------------------------------------------------------------------------------------------------------
35840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35841: ---------------------------------------------------------------------------------------------------------------
35842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35843:
35844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35846:
35840: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35841: ---------------------------------------------------------------------------------------------------------------
35842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35843:
35844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35846:
35847: IF xla_accounting_cache_pkg.GetValueChar
35848: (p_source_code => 'LEDGER_CATEGORY_CODE'
35841: ---------------------------------------------------------------------------------------------------------------
35842: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35843:
35844: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35845: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35846:
35847: IF xla_accounting_cache_pkg.GetValueChar
35848: (p_source_code => 'LEDGER_CATEGORY_CODE'
35849: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35852: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35853: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35854: )
35855: THEN
35856: xla_ae_lines_pkg.BflowUpgEntry
35857: (p_business_method_code => l_bflow_method_code
35858: ,p_business_class_code => l_bflow_class_code
35859: ,p_balance_type => l_balance_type_code);
35860: ELSE
35869: --
35870: -- call description
35871: --
35872:
35873: xla_ae_lines_pkg.SetLineDescription(
35874: p_ae_header_id => l_ae_header_id
35875: ,p_description => Description_2 (
35876: p_application_id => p_application_id
35877: , p_ae_header_id => l_ae_header_id
35902: , x_value_type_code => l_adr_value_type_code
35903: , p_side => 'NA'
35904: );
35905:
35906: xla_ae_lines_pkg.set_ccid(
35907: p_code_combination_id => l_ccid
35908: , p_value_type_code => l_adr_value_type_code
35909: , p_transaction_coa_id => l_adr_transaction_coa_id
35910: , p_accounting_coa_id => l_adr_accounting_coa_id
35934: );
35935:
35936: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35937:
35938: xla_ae_lines_pkg.set_segment(
35939: p_to_segment_code => 'GL_ACCOUNT'
35940: , p_segment_value => l_segment
35941: , p_from_segment_code => l_adr_value_segment_code
35942: , p_from_combination_id => l_adr_value_combination_id
35978: xla_accounting_err_pkg.build_message
35979: (p_appli_s_name => 'XLA'
35980: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35981: ,p_token_1 => 'LINE_NUMBER'
35982: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35983: ,p_token_2 => 'LINE_TYPE_NAME'
35984: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35985: l_component_type
35986: ,l_component_code
36014: --
36015: --
36016: ------------------------------------------------------------------------------------------------
36017: -- 4219869 Business Flow
36018: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36019: -- Prior Entry. Currently, the following code is always generated.
36020: ------------------------------------------------------------------------------------------------
36021: XLA_AE_LINES_PKG.ValidateCurrentLine;
36022:
36017: -- 4219869 Business Flow
36018: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36019: -- Prior Entry. Currently, the following code is always generated.
36020: ------------------------------------------------------------------------------------------------
36021: XLA_AE_LINES_PKG.ValidateCurrentLine;
36022:
36023: ------------------------------------------------------------------------------------
36024: -- 4219869 Business Flow
36025: -- Populated credit and debit amounts -- Need to generate this within IF
36023: ------------------------------------------------------------------------------------
36024: -- 4219869 Business Flow
36025: -- Populated credit and debit amounts -- Need to generate this within IF
36026: ------------------------------------------------------------------------------------
36027: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36028:
36029: ----------------------------------------------------------------------------------
36030: -- 4219869 Business Flow
36031: -- Update journal entry status -- Need to generate this within IF
36055: -- To allow MPA report to determine if it should generate report process
36056: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36057: ------------------------------------------------------------------------------------------
36058:
36059: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36060: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36061:
36062: --
36063: -- Update the line information that should be overwritten
36056: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36057: ------------------------------------------------------------------------------------------
36058:
36059: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36060: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36061:
36062: --
36063: -- Update the line information that should be overwritten
36064: --
36061:
36062: --
36063: -- Update the line information that should be overwritten
36064: --
36065: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36066: p_header_num => 1);
36067: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36068:
36069: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36063: -- Update the line information that should be overwritten
36064: --
36065: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36066: p_header_num => 1);
36067: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36068:
36069: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36070:
36071: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36065: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36066: p_header_num => 1);
36067: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36068:
36069: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36070:
36071: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36072: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36073: END IF;
36068:
36069: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36070:
36071: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36072: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36073: END IF;
36074:
36075: --
36076: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36075: --
36076: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36077: --
36078: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36079: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36080: ELSE
36081: ---------------------------------------------------------------------------------------------------
36082: -- 4262811a Switch Sign
36083: ---------------------------------------------------------------------------------------------------
36080: ELSE
36081: ---------------------------------------------------------------------------------------------------
36082: -- 4262811a Switch Sign
36083: ---------------------------------------------------------------------------------------------------
36084: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36085: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36081: ---------------------------------------------------------------------------------------------------
36082: -- 4262811a Switch Sign
36083: ---------------------------------------------------------------------------------------------------
36084: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36085: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36082: -- 4262811a Switch Sign
36083: ---------------------------------------------------------------------------------------------------
36084: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36085: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36090: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36083: ---------------------------------------------------------------------------------------------------
36084: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36085: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36090: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36091: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36084: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36085: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36090: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36091: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36092:
36086: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36090: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36091: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36092:
36093: END IF;
36094:
36087: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36088: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36089: -- 5132302
36090: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36091: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36092:
36093: END IF;
36094:
36095: -- 4955764
36092:
36093: END IF;
36094:
36095: -- 4955764
36096: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36097: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36098:
36099:
36100: XLA_AE_LINES_PKG.ValidateCurrentLine;
36096: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36097: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36098:
36099:
36100: XLA_AE_LINES_PKG.ValidateCurrentLine;
36101: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36102:
36103: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36104: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36097: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36098:
36099:
36100: XLA_AE_LINES_PKG.ValidateCurrentLine;
36101: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36102:
36103: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36104: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36105: ,p_balance_type_code => l_balance_type_code);
36248: --
36249: -- bulk performance
36250: --
36251: l_balance_type_code VARCHAR2(1);
36252: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36253: l_log_module VARCHAR2(240);
36254:
36255: --
36256: -- Upgrade strategy
36323: ') = 'B_REQ'
36324: THEN
36325:
36326: --
36327: XLA_AE_LINES_PKG.SetNewLine;
36328:
36329: p_balance_type_code := l_balance_type_code;
36330: -- set the flag so later we will know whether the gain loss line needs to be created
36331:
36335:
36336: --
36337: -- bulk performance
36338: --
36339: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36340: p_header_num => 0); -- 4262811
36341: --
36342: -- set accounting line options
36343: --
36340: p_header_num => 0); -- 4262811
36341: --
36342: -- set accounting line options
36343: --
36344: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36345: p_natural_side_code => 'C'
36346: , p_gain_or_loss_flag => 'N'
36347: , p_gl_transfer_mode_code => 'S'
36348: , p_acct_entry_type_code => 'A'
36354: --
36355: --
36356: -- set accounting line type info
36357: --
36358: xla_ae_lines_pkg.SetAcctLineType
36359: (p_component_type => l_component_type
36360: ,p_event_type_code => l_event_type_code
36361: ,p_line_definition_owner_code => l_line_definition_owner_code
36362: ,p_line_definition_code => l_line_definition_code
36368: ,p_event_class_code => l_event_class_code);
36369: --
36370: -- set accounting class
36371: --
36372: xla_ae_lines_pkg.SetAcctClass(
36373: p_accounting_class_code => 'PURCHASE_ORDER'
36374: , p_ae_header_id => l_ae_header_id
36375: );
36376:
36376:
36377: --
36378: -- set rounding class
36379: --
36380: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36381: 'PURCHASE_ORDER';
36382:
36383: --
36384: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36380: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36381: 'PURCHASE_ORDER';
36382:
36383: --
36384: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36385: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36386: --
36387: -- bulk performance
36388: --
36381: 'PURCHASE_ORDER';
36382:
36383: --
36384: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36385: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36386: --
36387: -- bulk performance
36388: --
36389: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36385: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36386: --
36387: -- bulk performance
36388: --
36389: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36390:
36391: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36392: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36393:
36387: -- bulk performance
36388: --
36389: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36390:
36391: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36392: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36393:
36394: -- 4955764
36395: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36391: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36392: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36393:
36394: -- 4955764
36395: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36396: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36397:
36398: -- 4458381 Public Sector Enh
36399:
36475: l_rec_acct_attrs.array_num_value(30) := p_source_32;
36476: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
36477: l_rec_acct_attrs.array_num_value(31) := p_source_32;
36478:
36479: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36480: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36481:
36482: ---------------------------------------------------------------------------------------------------------------
36483: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36476: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
36477: l_rec_acct_attrs.array_num_value(31) := p_source_32;
36478:
36479: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36480: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36481:
36482: ---------------------------------------------------------------------------------------------------------------
36483: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36484: ---------------------------------------------------------------------------------------------------------------
36479: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36480: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36481:
36482: ---------------------------------------------------------------------------------------------------------------
36483: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36484: ---------------------------------------------------------------------------------------------------------------
36485: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36486:
36487: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36481:
36482: ---------------------------------------------------------------------------------------------------------------
36483: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36484: ---------------------------------------------------------------------------------------------------------------
36485: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36486:
36487: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36488: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36489:
36483: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36484: ---------------------------------------------------------------------------------------------------------------
36485: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36486:
36487: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36488: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36489:
36490: IF xla_accounting_cache_pkg.GetValueChar
36491: (p_source_code => 'LEDGER_CATEGORY_CODE'
36484: ---------------------------------------------------------------------------------------------------------------
36485: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36486:
36487: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36488: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36489:
36490: IF xla_accounting_cache_pkg.GetValueChar
36491: (p_source_code => 'LEDGER_CATEGORY_CODE'
36492: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36495: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36496: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36497: )
36498: THEN
36499: xla_ae_lines_pkg.BflowUpgEntry
36500: (p_business_method_code => l_bflow_method_code
36501: ,p_business_class_code => l_bflow_class_code
36502: ,p_balance_type => l_balance_type_code);
36503: ELSE
36501: ,p_business_class_code => l_bflow_class_code
36502: ,p_balance_type => l_balance_type_code);
36503: ELSE
36504: NULL;
36505: XLA_AE_LINES_PKG.business_flow_validation(
36506: p_business_method_code => l_bflow_method_code
36507: ,p_business_class_code => l_bflow_class_code
36508: ,p_inherit_description_flag => l_inherit_desc_flag);
36509: END IF;
36548: xla_accounting_err_pkg.build_message
36549: (p_appli_s_name => 'XLA'
36550: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36551: ,p_token_1 => 'LINE_NUMBER'
36552: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36553: ,p_token_2 => 'LINE_TYPE_NAME'
36554: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36555: l_component_type
36556: ,l_component_code
36584: --
36585: --
36586: ------------------------------------------------------------------------------------------------
36587: -- 4219869 Business Flow
36588: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36589: -- Prior Entry. Currently, the following code is always generated.
36590: ------------------------------------------------------------------------------------------------
36591: -- No ValidateCurrentLine for business flow method of Prior Entry
36592:
36593: ------------------------------------------------------------------------------------
36594: -- 4219869 Business Flow
36595: -- Populated credit and debit amounts -- Need to generate this within IF
36596: ------------------------------------------------------------------------------------
36597: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36598:
36599: ----------------------------------------------------------------------------------
36600: -- 4219869 Business Flow
36601: -- Update journal entry status -- Need to generate this within IF
36625: -- To allow MPA report to determine if it should generate report process
36626: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36627: ------------------------------------------------------------------------------------------
36628:
36629: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36630: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36631:
36632: --
36633: -- Update the line information that should be overwritten
36626: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36627: ------------------------------------------------------------------------------------------
36628:
36629: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36630: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36631:
36632: --
36633: -- Update the line information that should be overwritten
36634: --
36631:
36632: --
36633: -- Update the line information that should be overwritten
36634: --
36635: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36636: p_header_num => 1);
36637: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36638:
36639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36633: -- Update the line information that should be overwritten
36634: --
36635: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36636: p_header_num => 1);
36637: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36638:
36639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36640:
36641: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36635: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36636: p_header_num => 1);
36637: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36638:
36639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36640:
36641: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36642: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36643: END IF;
36638:
36639: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36640:
36641: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36642: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36643: END IF;
36644:
36645: --
36646: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36645: --
36646: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36647: --
36648: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36649: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36650: ELSE
36651: ---------------------------------------------------------------------------------------------------
36652: -- 4262811a Switch Sign
36653: ---------------------------------------------------------------------------------------------------
36650: ELSE
36651: ---------------------------------------------------------------------------------------------------
36652: -- 4262811a Switch Sign
36653: ---------------------------------------------------------------------------------------------------
36654: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36651: ---------------------------------------------------------------------------------------------------
36652: -- 4262811a Switch Sign
36653: ---------------------------------------------------------------------------------------------------
36654: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36652: -- 4262811a Switch Sign
36653: ---------------------------------------------------------------------------------------------------
36654: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36653: ---------------------------------------------------------------------------------------------------
36654: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36661: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36654: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36655: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36661: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36662:
36656: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36661: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36662:
36663: END IF;
36664:
36657: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36658: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36659: -- 5132302
36660: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36661: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36662:
36663: END IF;
36664:
36665: -- 4955764
36662:
36663: END IF;
36664:
36665: -- 4955764
36666: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36667: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36668:
36669:
36670: XLA_AE_LINES_PKG.ValidateCurrentLine;
36666: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36667: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36668:
36669:
36670: XLA_AE_LINES_PKG.ValidateCurrentLine;
36671: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36672:
36673: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36674: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36667: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36668:
36669:
36670: XLA_AE_LINES_PKG.ValidateCurrentLine;
36671: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36672:
36673: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36674: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36675: ,p_balance_type_code => l_balance_type_code);
36818: --
36819: -- bulk performance
36820: --
36821: l_balance_type_code VARCHAR2(1);
36822: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36823: l_log_module VARCHAR2(240);
36824:
36825: --
36826: -- Upgrade strategy
36893: ') = 'B_REQ'
36894: THEN
36895:
36896: --
36897: XLA_AE_LINES_PKG.SetNewLine;
36898:
36899: p_balance_type_code := l_balance_type_code;
36900: -- set the flag so later we will know whether the gain loss line needs to be created
36901:
36905:
36906: --
36907: -- bulk performance
36908: --
36909: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36910: p_header_num => 0); -- 4262811
36911: --
36912: -- set accounting line options
36913: --
36910: p_header_num => 0); -- 4262811
36911: --
36912: -- set accounting line options
36913: --
36914: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36915: p_natural_side_code => 'D'
36916: , p_gain_or_loss_flag => 'N'
36917: , p_gl_transfer_mode_code => 'S'
36918: , p_acct_entry_type_code => 'A'
36924: --
36925: --
36926: -- set accounting line type info
36927: --
36928: xla_ae_lines_pkg.SetAcctLineType
36929: (p_component_type => l_component_type
36930: ,p_event_type_code => l_event_type_code
36931: ,p_line_definition_owner_code => l_line_definition_owner_code
36932: ,p_line_definition_code => l_line_definition_code
36938: ,p_event_class_code => l_event_class_code);
36939: --
36940: -- set accounting class
36941: --
36942: xla_ae_lines_pkg.SetAcctClass(
36943: p_accounting_class_code => 'PURCHASE_ORDER'
36944: , p_ae_header_id => l_ae_header_id
36945: );
36946:
36946:
36947: --
36948: -- set rounding class
36949: --
36950: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36951: 'PURCHASE_ORDER';
36952:
36953: --
36954: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36950: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36951: 'PURCHASE_ORDER';
36952:
36953: --
36954: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36955: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36956: --
36957: -- bulk performance
36958: --
36951: 'PURCHASE_ORDER';
36952:
36953: --
36954: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36955: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36956: --
36957: -- bulk performance
36958: --
36959: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36955: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36956: --
36957: -- bulk performance
36958: --
36959: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36960:
36961: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36962: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36963:
36957: -- bulk performance
36958: --
36959: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36960:
36961: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36962: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36963:
36964: -- 4955764
36965: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36961: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36962: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36963:
36964: -- 4955764
36965: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36966: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36967:
36968: -- 4458381 Public Sector Enh
36969:
37045: l_rec_acct_attrs.array_num_value(30) := p_source_32;
37046: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
37047: l_rec_acct_attrs.array_num_value(31) := p_source_32;
37048:
37049: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37050: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37051:
37052: ---------------------------------------------------------------------------------------------------------------
37053: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37046: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
37047: l_rec_acct_attrs.array_num_value(31) := p_source_32;
37048:
37049: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37050: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37051:
37052: ---------------------------------------------------------------------------------------------------------------
37053: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37054: ---------------------------------------------------------------------------------------------------------------
37049: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37050: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37051:
37052: ---------------------------------------------------------------------------------------------------------------
37053: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37054: ---------------------------------------------------------------------------------------------------------------
37055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37056:
37057: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37051:
37052: ---------------------------------------------------------------------------------------------------------------
37053: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37054: ---------------------------------------------------------------------------------------------------------------
37055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37056:
37057: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37058: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37059:
37053: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37054: ---------------------------------------------------------------------------------------------------------------
37055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37056:
37057: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37058: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37059:
37060: IF xla_accounting_cache_pkg.GetValueChar
37061: (p_source_code => 'LEDGER_CATEGORY_CODE'
37054: ---------------------------------------------------------------------------------------------------------------
37055: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37056:
37057: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37058: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37059:
37060: IF xla_accounting_cache_pkg.GetValueChar
37061: (p_source_code => 'LEDGER_CATEGORY_CODE'
37062: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37065: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37066: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37067: )
37068: THEN
37069: xla_ae_lines_pkg.BflowUpgEntry
37070: (p_business_method_code => l_bflow_method_code
37071: ,p_business_class_code => l_bflow_class_code
37072: ,p_balance_type => l_balance_type_code);
37073: ELSE
37071: ,p_business_class_code => l_bflow_class_code
37072: ,p_balance_type => l_balance_type_code);
37073: ELSE
37074: NULL;
37075: XLA_AE_LINES_PKG.business_flow_validation(
37076: p_business_method_code => l_bflow_method_code
37077: ,p_business_class_code => l_bflow_class_code
37078: ,p_inherit_description_flag => l_inherit_desc_flag);
37079: END IF;
37118: xla_accounting_err_pkg.build_message
37119: (p_appli_s_name => 'XLA'
37120: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37121: ,p_token_1 => 'LINE_NUMBER'
37122: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37123: ,p_token_2 => 'LINE_TYPE_NAME'
37124: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37125: l_component_type
37126: ,l_component_code
37154: --
37155: --
37156: ------------------------------------------------------------------------------------------------
37157: -- 4219869 Business Flow
37158: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37159: -- Prior Entry. Currently, the following code is always generated.
37160: ------------------------------------------------------------------------------------------------
37161: -- No ValidateCurrentLine for business flow method of Prior Entry
37162:
37163: ------------------------------------------------------------------------------------
37164: -- 4219869 Business Flow
37165: -- Populated credit and debit amounts -- Need to generate this within IF
37166: ------------------------------------------------------------------------------------
37167: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37168:
37169: ----------------------------------------------------------------------------------
37170: -- 4219869 Business Flow
37171: -- Update journal entry status -- Need to generate this within IF
37195: -- To allow MPA report to determine if it should generate report process
37196: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37197: ------------------------------------------------------------------------------------------
37198:
37199: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37200: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37201:
37202: --
37203: -- Update the line information that should be overwritten
37196: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37197: ------------------------------------------------------------------------------------------
37198:
37199: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37200: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37201:
37202: --
37203: -- Update the line information that should be overwritten
37204: --
37201:
37202: --
37203: -- Update the line information that should be overwritten
37204: --
37205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37206: p_header_num => 1);
37207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37208:
37209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37203: -- Update the line information that should be overwritten
37204: --
37205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37206: p_header_num => 1);
37207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37208:
37209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37210:
37211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37205: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37206: p_header_num => 1);
37207: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37208:
37209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37210:
37211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37212: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37213: END IF;
37208:
37209: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37210:
37211: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37212: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37213: END IF;
37214:
37215: --
37216: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37215: --
37216: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37217: --
37218: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37219: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37220: ELSE
37221: ---------------------------------------------------------------------------------------------------
37222: -- 4262811a Switch Sign
37223: ---------------------------------------------------------------------------------------------------
37220: ELSE
37221: ---------------------------------------------------------------------------------------------------
37222: -- 4262811a Switch Sign
37223: ---------------------------------------------------------------------------------------------------
37224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37221: ---------------------------------------------------------------------------------------------------
37222: -- 4262811a Switch Sign
37223: ---------------------------------------------------------------------------------------------------
37224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37222: -- 4262811a Switch Sign
37223: ---------------------------------------------------------------------------------------------------
37224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37223: ---------------------------------------------------------------------------------------------------
37224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37224: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37225: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37232:
37226: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37232:
37233: END IF;
37234:
37227: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37228: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37229: -- 5132302
37230: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37231: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37232:
37233: END IF;
37234:
37235: -- 4955764
37232:
37233: END IF;
37234:
37235: -- 4955764
37236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37238:
37239:
37240: XLA_AE_LINES_PKG.ValidateCurrentLine;
37236: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37238:
37239:
37240: XLA_AE_LINES_PKG.ValidateCurrentLine;
37241: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37242:
37243: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37244: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37237: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37238:
37239:
37240: XLA_AE_LINES_PKG.ValidateCurrentLine;
37241: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37242:
37243: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37244: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37245: ,p_balance_type_code => l_balance_type_code);
37384: --
37385: -- bulk performance
37386: --
37387: l_balance_type_code VARCHAR2(1);
37388: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37389: l_log_module VARCHAR2(240);
37390:
37391: --
37392: -- Upgrade strategy
37459: ') = 'M'
37460: THEN
37461:
37462: --
37463: XLA_AE_LINES_PKG.SetNewLine;
37464:
37465: p_balance_type_code := l_balance_type_code;
37466: -- set the flag so later we will know whether the gain loss line needs to be created
37467:
37471:
37472: --
37473: -- bulk performance
37474: --
37475: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37476: p_header_num => 0); -- 4262811
37477: --
37478: -- set accounting line options
37479: --
37476: p_header_num => 0); -- 4262811
37477: --
37478: -- set accounting line options
37479: --
37480: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37481: p_natural_side_code => 'C'
37482: , p_gain_or_loss_flag => 'N'
37483: , p_gl_transfer_mode_code => 'S'
37484: , p_acct_entry_type_code => 'A'
37490: --
37491: --
37492: -- set accounting line type info
37493: --
37494: xla_ae_lines_pkg.SetAcctLineType
37495: (p_component_type => l_component_type
37496: ,p_event_type_code => l_event_type_code
37497: ,p_line_definition_owner_code => l_line_definition_owner_code
37498: ,p_line_definition_code => l_line_definition_code
37504: ,p_event_class_code => l_event_class_code);
37505: --
37506: -- set accounting class
37507: --
37508: xla_ae_lines_pkg.SetAcctClass(
37509: p_accounting_class_code => 'PURCHASE_ORDER'
37510: , p_ae_header_id => l_ae_header_id
37511: );
37512:
37512:
37513: --
37514: -- set rounding class
37515: --
37516: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37517: 'PURCHASE_ORDER';
37518:
37519: --
37520: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37516: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37517: 'PURCHASE_ORDER';
37518:
37519: --
37520: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37521: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37522: --
37523: -- bulk performance
37524: --
37517: 'PURCHASE_ORDER';
37518:
37519: --
37520: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37521: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37522: --
37523: -- bulk performance
37524: --
37525: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37521: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37522: --
37523: -- bulk performance
37524: --
37525: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37526:
37527: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37528: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37529:
37523: -- bulk performance
37524: --
37525: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37526:
37527: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37528: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37529:
37530: -- 4955764
37531: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37527: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37528: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37529:
37530: -- 4955764
37531: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37532: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37533:
37534: -- 4458381 Public Sector Enh
37535:
37611: l_rec_acct_attrs.array_num_value(30) := p_source_32;
37612: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
37613: l_rec_acct_attrs.array_num_value(31) := p_source_32;
37614:
37615: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37616: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37617:
37618: ---------------------------------------------------------------------------------------------------------------
37619: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37612: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
37613: l_rec_acct_attrs.array_num_value(31) := p_source_32;
37614:
37615: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37616: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37617:
37618: ---------------------------------------------------------------------------------------------------------------
37619: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37620: ---------------------------------------------------------------------------------------------------------------
37615: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37616: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37617:
37618: ---------------------------------------------------------------------------------------------------------------
37619: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37620: ---------------------------------------------------------------------------------------------------------------
37621: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37622:
37623: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37617:
37618: ---------------------------------------------------------------------------------------------------------------
37619: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37620: ---------------------------------------------------------------------------------------------------------------
37621: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37622:
37623: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37624: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37625:
37619: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37620: ---------------------------------------------------------------------------------------------------------------
37621: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37622:
37623: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37624: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37625:
37626: IF xla_accounting_cache_pkg.GetValueChar
37627: (p_source_code => 'LEDGER_CATEGORY_CODE'
37620: ---------------------------------------------------------------------------------------------------------------
37621: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37622:
37623: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37624: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37625:
37626: IF xla_accounting_cache_pkg.GetValueChar
37627: (p_source_code => 'LEDGER_CATEGORY_CODE'
37628: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37631: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37632: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37633: )
37634: THEN
37635: xla_ae_lines_pkg.BflowUpgEntry
37636: (p_business_method_code => l_bflow_method_code
37637: ,p_business_class_code => l_bflow_class_code
37638: ,p_balance_type => l_balance_type_code);
37639: ELSE
37637: ,p_business_class_code => l_bflow_class_code
37638: ,p_balance_type => l_balance_type_code);
37639: ELSE
37640: NULL;
37641: XLA_AE_LINES_PKG.business_flow_validation(
37642: p_business_method_code => l_bflow_method_code
37643: ,p_business_class_code => l_bflow_class_code
37644: ,p_inherit_description_flag => l_inherit_desc_flag);
37645: END IF;
37684: xla_accounting_err_pkg.build_message
37685: (p_appli_s_name => 'XLA'
37686: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37687: ,p_token_1 => 'LINE_NUMBER'
37688: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37689: ,p_token_2 => 'LINE_TYPE_NAME'
37690: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37691: l_component_type
37692: ,l_component_code
37720: --
37721: --
37722: ------------------------------------------------------------------------------------------------
37723: -- 4219869 Business Flow
37724: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37725: -- Prior Entry. Currently, the following code is always generated.
37726: ------------------------------------------------------------------------------------------------
37727: -- No ValidateCurrentLine for business flow method of Prior Entry
37728:
37729: ------------------------------------------------------------------------------------
37730: -- 4219869 Business Flow
37731: -- Populated credit and debit amounts -- Need to generate this within IF
37732: ------------------------------------------------------------------------------------
37733: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37734:
37735: ----------------------------------------------------------------------------------
37736: -- 4219869 Business Flow
37737: -- Update journal entry status -- Need to generate this within IF
37761: -- To allow MPA report to determine if it should generate report process
37762: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37763: ------------------------------------------------------------------------------------------
37764:
37765: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37766: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37767:
37768: --
37769: -- Update the line information that should be overwritten
37762: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37763: ------------------------------------------------------------------------------------------
37764:
37765: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37766: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37767:
37768: --
37769: -- Update the line information that should be overwritten
37770: --
37767:
37768: --
37769: -- Update the line information that should be overwritten
37770: --
37771: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37772: p_header_num => 1);
37773: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37774:
37775: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37769: -- Update the line information that should be overwritten
37770: --
37771: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37772: p_header_num => 1);
37773: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37774:
37775: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37776:
37777: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37771: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37772: p_header_num => 1);
37773: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37774:
37775: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37776:
37777: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37778: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37779: END IF;
37774:
37775: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37776:
37777: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37778: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37779: END IF;
37780:
37781: --
37782: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37781: --
37782: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37783: --
37784: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37785: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37786: ELSE
37787: ---------------------------------------------------------------------------------------------------
37788: -- 4262811a Switch Sign
37789: ---------------------------------------------------------------------------------------------------
37786: ELSE
37787: ---------------------------------------------------------------------------------------------------
37788: -- 4262811a Switch Sign
37789: ---------------------------------------------------------------------------------------------------
37790: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37791: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37787: ---------------------------------------------------------------------------------------------------
37788: -- 4262811a Switch Sign
37789: ---------------------------------------------------------------------------------------------------
37790: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37791: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37788: -- 4262811a Switch Sign
37789: ---------------------------------------------------------------------------------------------------
37790: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37791: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37796: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37789: ---------------------------------------------------------------------------------------------------
37790: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37791: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37796: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37790: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37791: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37796: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37798:
37792: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37796: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37798:
37799: END IF;
37800:
37793: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37794: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37795: -- 5132302
37796: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37797: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37798:
37799: END IF;
37800:
37801: -- 4955764
37798:
37799: END IF;
37800:
37801: -- 4955764
37802: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37803: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37804:
37805:
37806: XLA_AE_LINES_PKG.ValidateCurrentLine;
37802: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37803: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37804:
37805:
37806: XLA_AE_LINES_PKG.ValidateCurrentLine;
37807: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37808:
37809: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37810: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37803: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37804:
37805:
37806: XLA_AE_LINES_PKG.ValidateCurrentLine;
37807: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37808:
37809: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37810: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37811: ,p_balance_type_code => l_balance_type_code);
37950: --
37951: -- bulk performance
37952: --
37953: l_balance_type_code VARCHAR2(1);
37954: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37955: l_log_module VARCHAR2(240);
37956:
37957: --
37958: -- Upgrade strategy
38025: ') = 'M'
38026: THEN
38027:
38028: --
38029: XLA_AE_LINES_PKG.SetNewLine;
38030:
38031: p_balance_type_code := l_balance_type_code;
38032: -- set the flag so later we will know whether the gain loss line needs to be created
38033:
38037:
38038: --
38039: -- bulk performance
38040: --
38041: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38042: p_header_num => 0); -- 4262811
38043: --
38044: -- set accounting line options
38045: --
38042: p_header_num => 0); -- 4262811
38043: --
38044: -- set accounting line options
38045: --
38046: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38047: p_natural_side_code => 'D'
38048: , p_gain_or_loss_flag => 'N'
38049: , p_gl_transfer_mode_code => 'S'
38050: , p_acct_entry_type_code => 'A'
38056: --
38057: --
38058: -- set accounting line type info
38059: --
38060: xla_ae_lines_pkg.SetAcctLineType
38061: (p_component_type => l_component_type
38062: ,p_event_type_code => l_event_type_code
38063: ,p_line_definition_owner_code => l_line_definition_owner_code
38064: ,p_line_definition_code => l_line_definition_code
38070: ,p_event_class_code => l_event_class_code);
38071: --
38072: -- set accounting class
38073: --
38074: xla_ae_lines_pkg.SetAcctClass(
38075: p_accounting_class_code => 'PURCHASE_ORDER'
38076: , p_ae_header_id => l_ae_header_id
38077: );
38078:
38078:
38079: --
38080: -- set rounding class
38081: --
38082: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38083: 'PURCHASE_ORDER';
38084:
38085: --
38086: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38082: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38083: 'PURCHASE_ORDER';
38084:
38085: --
38086: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38087: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38088: --
38089: -- bulk performance
38090: --
38083: 'PURCHASE_ORDER';
38084:
38085: --
38086: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38087: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38088: --
38089: -- bulk performance
38090: --
38091: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38087: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38088: --
38089: -- bulk performance
38090: --
38091: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38092:
38093: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38094: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38095:
38089: -- bulk performance
38090: --
38091: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38092:
38093: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38094: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38095:
38096: -- 4955764
38097: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38093: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38094: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38095:
38096: -- 4955764
38097: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38098: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38099:
38100: -- 4458381 Public Sector Enh
38101:
38177: l_rec_acct_attrs.array_num_value(30) := p_source_32;
38178: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
38179: l_rec_acct_attrs.array_num_value(31) := p_source_32;
38180:
38181: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38182: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38183:
38184: ---------------------------------------------------------------------------------------------------------------
38185: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38178: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
38179: l_rec_acct_attrs.array_num_value(31) := p_source_32;
38180:
38181: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38182: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38183:
38184: ---------------------------------------------------------------------------------------------------------------
38185: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38186: ---------------------------------------------------------------------------------------------------------------
38181: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38182: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38183:
38184: ---------------------------------------------------------------------------------------------------------------
38185: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38186: ---------------------------------------------------------------------------------------------------------------
38187: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38188:
38189: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38183:
38184: ---------------------------------------------------------------------------------------------------------------
38185: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38186: ---------------------------------------------------------------------------------------------------------------
38187: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38188:
38189: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38190: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38191:
38185: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38186: ---------------------------------------------------------------------------------------------------------------
38187: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38188:
38189: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38190: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38191:
38192: IF xla_accounting_cache_pkg.GetValueChar
38193: (p_source_code => 'LEDGER_CATEGORY_CODE'
38186: ---------------------------------------------------------------------------------------------------------------
38187: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38188:
38189: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38190: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38191:
38192: IF xla_accounting_cache_pkg.GetValueChar
38193: (p_source_code => 'LEDGER_CATEGORY_CODE'
38194: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38197: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38198: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38199: )
38200: THEN
38201: xla_ae_lines_pkg.BflowUpgEntry
38202: (p_business_method_code => l_bflow_method_code
38203: ,p_business_class_code => l_bflow_class_code
38204: ,p_balance_type => l_balance_type_code);
38205: ELSE
38203: ,p_business_class_code => l_bflow_class_code
38204: ,p_balance_type => l_balance_type_code);
38205: ELSE
38206: NULL;
38207: XLA_AE_LINES_PKG.business_flow_validation(
38208: p_business_method_code => l_bflow_method_code
38209: ,p_business_class_code => l_bflow_class_code
38210: ,p_inherit_description_flag => l_inherit_desc_flag);
38211: END IF;
38250: xla_accounting_err_pkg.build_message
38251: (p_appli_s_name => 'XLA'
38252: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38253: ,p_token_1 => 'LINE_NUMBER'
38254: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38255: ,p_token_2 => 'LINE_TYPE_NAME'
38256: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38257: l_component_type
38258: ,l_component_code
38286: --
38287: --
38288: ------------------------------------------------------------------------------------------------
38289: -- 4219869 Business Flow
38290: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38291: -- Prior Entry. Currently, the following code is always generated.
38292: ------------------------------------------------------------------------------------------------
38293: -- No ValidateCurrentLine for business flow method of Prior Entry
38294:
38295: ------------------------------------------------------------------------------------
38296: -- 4219869 Business Flow
38297: -- Populated credit and debit amounts -- Need to generate this within IF
38298: ------------------------------------------------------------------------------------
38299: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38300:
38301: ----------------------------------------------------------------------------------
38302: -- 4219869 Business Flow
38303: -- Update journal entry status -- Need to generate this within IF
38327: -- To allow MPA report to determine if it should generate report process
38328: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38329: ------------------------------------------------------------------------------------------
38330:
38331: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38332: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38333:
38334: --
38335: -- Update the line information that should be overwritten
38328: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38329: ------------------------------------------------------------------------------------------
38330:
38331: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38332: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38333:
38334: --
38335: -- Update the line information that should be overwritten
38336: --
38333:
38334: --
38335: -- Update the line information that should be overwritten
38336: --
38337: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38338: p_header_num => 1);
38339: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38340:
38341: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38335: -- Update the line information that should be overwritten
38336: --
38337: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38338: p_header_num => 1);
38339: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38340:
38341: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38342:
38343: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38337: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38338: p_header_num => 1);
38339: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38340:
38341: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38342:
38343: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38344: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38345: END IF;
38340:
38341: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38342:
38343: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38344: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38345: END IF;
38346:
38347: --
38348: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38347: --
38348: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38349: --
38350: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38351: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38352: ELSE
38353: ---------------------------------------------------------------------------------------------------
38354: -- 4262811a Switch Sign
38355: ---------------------------------------------------------------------------------------------------
38352: ELSE
38353: ---------------------------------------------------------------------------------------------------
38354: -- 4262811a Switch Sign
38355: ---------------------------------------------------------------------------------------------------
38356: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38357: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38353: ---------------------------------------------------------------------------------------------------
38354: -- 4262811a Switch Sign
38355: ---------------------------------------------------------------------------------------------------
38356: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38357: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38354: -- 4262811a Switch Sign
38355: ---------------------------------------------------------------------------------------------------
38356: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38357: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38362: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38355: ---------------------------------------------------------------------------------------------------
38356: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38357: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38362: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38363: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38356: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38357: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38362: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38363: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38364:
38358: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38362: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38363: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38364:
38365: END IF;
38366:
38359: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38360: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38361: -- 5132302
38362: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38363: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38364:
38365: END IF;
38366:
38367: -- 4955764
38364:
38365: END IF;
38366:
38367: -- 4955764
38368: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38369: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38370:
38371:
38372: XLA_AE_LINES_PKG.ValidateCurrentLine;
38368: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38369: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38370:
38371:
38372: XLA_AE_LINES_PKG.ValidateCurrentLine;
38373: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38374:
38375: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38376: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38369: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38370:
38371:
38372: XLA_AE_LINES_PKG.ValidateCurrentLine;
38373: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38374:
38375: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38376: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38377: ,p_balance_type_code => l_balance_type_code);
38524: --
38525: -- bulk performance
38526: --
38527: l_balance_type_code VARCHAR2(1);
38528: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38529: l_log_module VARCHAR2(240);
38530:
38531: --
38532: -- Upgrade strategy
38599: ') = 'M'
38600: THEN
38601:
38602: --
38603: XLA_AE_LINES_PKG.SetNewLine;
38604:
38605: p_balance_type_code := l_balance_type_code;
38606: -- set the flag so later we will know whether the gain loss line needs to be created
38607:
38611:
38612: --
38613: -- bulk performance
38614: --
38615: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38616: p_header_num => 0); -- 4262811
38617: --
38618: -- set accounting line options
38619: --
38616: p_header_num => 0); -- 4262811
38617: --
38618: -- set accounting line options
38619: --
38620: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38621: p_natural_side_code => 'C'
38622: , p_gain_or_loss_flag => 'N'
38623: , p_gl_transfer_mode_code => 'S'
38624: , p_acct_entry_type_code => 'A'
38630: --
38631: --
38632: -- set accounting line type info
38633: --
38634: xla_ae_lines_pkg.SetAcctLineType
38635: (p_component_type => l_component_type
38636: ,p_event_type_code => l_event_type_code
38637: ,p_line_definition_owner_code => l_line_definition_owner_code
38638: ,p_line_definition_code => l_line_definition_code
38644: ,p_event_class_code => l_event_class_code);
38645: --
38646: -- set accounting class
38647: --
38648: xla_ae_lines_pkg.SetAcctClass(
38649: p_accounting_class_code => 'PURCHASE_ORDER'
38650: , p_ae_header_id => l_ae_header_id
38651: );
38652:
38652:
38653: --
38654: -- set rounding class
38655: --
38656: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38657: 'PURCHASE_ORDER';
38658:
38659: --
38660: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38656: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38657: 'PURCHASE_ORDER';
38658:
38659: --
38660: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38661: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38662: --
38663: -- bulk performance
38664: --
38657: 'PURCHASE_ORDER';
38658:
38659: --
38660: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38661: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38662: --
38663: -- bulk performance
38664: --
38665: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38661: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38662: --
38663: -- bulk performance
38664: --
38665: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38666:
38667: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38668: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38669:
38663: -- bulk performance
38664: --
38665: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38666:
38667: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38668: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38669:
38670: -- 4955764
38671: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38667: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38668: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38669:
38670: -- 4955764
38671: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38672: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38673:
38674: -- 4458381 Public Sector Enh
38675:
38757: l_rec_acct_attrs.array_num_value(33) := p_source_32;
38758: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
38759: l_rec_acct_attrs.array_num_value(34) := p_source_32;
38760:
38761: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38762: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38763:
38764: ---------------------------------------------------------------------------------------------------------------
38765: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38758: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
38759: l_rec_acct_attrs.array_num_value(34) := p_source_32;
38760:
38761: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38762: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38763:
38764: ---------------------------------------------------------------------------------------------------------------
38765: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38766: ---------------------------------------------------------------------------------------------------------------
38761: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38762: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38763:
38764: ---------------------------------------------------------------------------------------------------------------
38765: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38766: ---------------------------------------------------------------------------------------------------------------
38767: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38768:
38769: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38763:
38764: ---------------------------------------------------------------------------------------------------------------
38765: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38766: ---------------------------------------------------------------------------------------------------------------
38767: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38768:
38769: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38770: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38771:
38765: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38766: ---------------------------------------------------------------------------------------------------------------
38767: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38768:
38769: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38770: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38771:
38772: IF xla_accounting_cache_pkg.GetValueChar
38773: (p_source_code => 'LEDGER_CATEGORY_CODE'
38766: ---------------------------------------------------------------------------------------------------------------
38767: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38768:
38769: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38770: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38771:
38772: IF xla_accounting_cache_pkg.GetValueChar
38773: (p_source_code => 'LEDGER_CATEGORY_CODE'
38774: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38777: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38778: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38779: )
38780: THEN
38781: xla_ae_lines_pkg.BflowUpgEntry
38782: (p_business_method_code => l_bflow_method_code
38783: ,p_business_class_code => l_bflow_class_code
38784: ,p_balance_type => l_balance_type_code);
38785: ELSE
38794: --
38795: -- call description
38796: --
38797:
38798: xla_ae_lines_pkg.SetLineDescription(
38799: p_ae_header_id => l_ae_header_id
38800: ,p_description => Description_2 (
38801: p_application_id => p_application_id
38802: , p_ae_header_id => l_ae_header_id
38827: , x_value_type_code => l_adr_value_type_code
38828: , p_side => 'NA'
38829: );
38830:
38831: xla_ae_lines_pkg.set_ccid(
38832: p_code_combination_id => l_ccid
38833: , p_value_type_code => l_adr_value_type_code
38834: , p_transaction_coa_id => l_adr_transaction_coa_id
38835: , p_accounting_coa_id => l_adr_accounting_coa_id
38859: );
38860:
38861: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38862:
38863: xla_ae_lines_pkg.set_segment(
38864: p_to_segment_code => 'GL_ACCOUNT'
38865: , p_segment_value => l_segment
38866: , p_from_segment_code => l_adr_value_segment_code
38867: , p_from_combination_id => l_adr_value_combination_id
38903: xla_accounting_err_pkg.build_message
38904: (p_appli_s_name => 'XLA'
38905: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38906: ,p_token_1 => 'LINE_NUMBER'
38907: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38908: ,p_token_2 => 'LINE_TYPE_NAME'
38909: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38910: l_component_type
38911: ,l_component_code
38939: --
38940: --
38941: ------------------------------------------------------------------------------------------------
38942: -- 4219869 Business Flow
38943: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38944: -- Prior Entry. Currently, the following code is always generated.
38945: ------------------------------------------------------------------------------------------------
38946: XLA_AE_LINES_PKG.ValidateCurrentLine;
38947:
38942: -- 4219869 Business Flow
38943: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38944: -- Prior Entry. Currently, the following code is always generated.
38945: ------------------------------------------------------------------------------------------------
38946: XLA_AE_LINES_PKG.ValidateCurrentLine;
38947:
38948: ------------------------------------------------------------------------------------
38949: -- 4219869 Business Flow
38950: -- Populated credit and debit amounts -- Need to generate this within IF
38948: ------------------------------------------------------------------------------------
38949: -- 4219869 Business Flow
38950: -- Populated credit and debit amounts -- Need to generate this within IF
38951: ------------------------------------------------------------------------------------
38952: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38953:
38954: ----------------------------------------------------------------------------------
38955: -- 4219869 Business Flow
38956: -- Update journal entry status -- Need to generate this within IF
38980: -- To allow MPA report to determine if it should generate report process
38981: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38982: ------------------------------------------------------------------------------------------
38983:
38984: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38985: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38986:
38987: --
38988: -- Update the line information that should be overwritten
38981: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38982: ------------------------------------------------------------------------------------------
38983:
38984: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38985: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38986:
38987: --
38988: -- Update the line information that should be overwritten
38989: --
38986:
38987: --
38988: -- Update the line information that should be overwritten
38989: --
38990: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38991: p_header_num => 1);
38992: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38993:
38994: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38988: -- Update the line information that should be overwritten
38989: --
38990: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38991: p_header_num => 1);
38992: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38993:
38994: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38995:
38996: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38990: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38991: p_header_num => 1);
38992: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38993:
38994: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38995:
38996: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38997: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38998: END IF;
38993:
38994: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38995:
38996: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38997: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38998: END IF;
38999:
39000: --
39001: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39000: --
39001: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39002: --
39003: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39004: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39005: ELSE
39006: ---------------------------------------------------------------------------------------------------
39007: -- 4262811a Switch Sign
39008: ---------------------------------------------------------------------------------------------------
39005: ELSE
39006: ---------------------------------------------------------------------------------------------------
39007: -- 4262811a Switch Sign
39008: ---------------------------------------------------------------------------------------------------
39009: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39010: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39006: ---------------------------------------------------------------------------------------------------
39007: -- 4262811a Switch Sign
39008: ---------------------------------------------------------------------------------------------------
39009: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39010: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39007: -- 4262811a Switch Sign
39008: ---------------------------------------------------------------------------------------------------
39009: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39010: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39015: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39008: ---------------------------------------------------------------------------------------------------
39009: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39010: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39015: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39016: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39009: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39010: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39015: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39016: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39017:
39011: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39015: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39016: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39017:
39018: END IF;
39019:
39012: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39013: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39014: -- 5132302
39015: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39016: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39017:
39018: END IF;
39019:
39020: -- 4955764
39017:
39018: END IF;
39019:
39020: -- 4955764
39021: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39022: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39023:
39024:
39025: XLA_AE_LINES_PKG.ValidateCurrentLine;
39021: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39022: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39023:
39024:
39025: XLA_AE_LINES_PKG.ValidateCurrentLine;
39026: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39027:
39028: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39029: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39022: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39023:
39024:
39025: XLA_AE_LINES_PKG.ValidateCurrentLine;
39026: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39027:
39028: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39029: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39030: ,p_balance_type_code => l_balance_type_code);
39181: --
39182: -- bulk performance
39183: --
39184: l_balance_type_code VARCHAR2(1);
39185: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39186: l_log_module VARCHAR2(240);
39187:
39188: --
39189: -- Upgrade strategy
39256: ') = 'M'
39257: THEN
39258:
39259: --
39260: XLA_AE_LINES_PKG.SetNewLine;
39261:
39262: p_balance_type_code := l_balance_type_code;
39263: -- set the flag so later we will know whether the gain loss line needs to be created
39264:
39268:
39269: --
39270: -- bulk performance
39271: --
39272: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39273: p_header_num => 0); -- 4262811
39274: --
39275: -- set accounting line options
39276: --
39273: p_header_num => 0); -- 4262811
39274: --
39275: -- set accounting line options
39276: --
39277: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39278: p_natural_side_code => 'D'
39279: , p_gain_or_loss_flag => 'N'
39280: , p_gl_transfer_mode_code => 'S'
39281: , p_acct_entry_type_code => 'A'
39287: --
39288: --
39289: -- set accounting line type info
39290: --
39291: xla_ae_lines_pkg.SetAcctLineType
39292: (p_component_type => l_component_type
39293: ,p_event_type_code => l_event_type_code
39294: ,p_line_definition_owner_code => l_line_definition_owner_code
39295: ,p_line_definition_code => l_line_definition_code
39301: ,p_event_class_code => l_event_class_code);
39302: --
39303: -- set accounting class
39304: --
39305: xla_ae_lines_pkg.SetAcctClass(
39306: p_accounting_class_code => 'PURCHASE_ORDER'
39307: , p_ae_header_id => l_ae_header_id
39308: );
39309:
39309:
39310: --
39311: -- set rounding class
39312: --
39313: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39314: 'PURCHASE_ORDER';
39315:
39316: --
39317: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39313: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39314: 'PURCHASE_ORDER';
39315:
39316: --
39317: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39318: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39319: --
39320: -- bulk performance
39321: --
39314: 'PURCHASE_ORDER';
39315:
39316: --
39317: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39318: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39319: --
39320: -- bulk performance
39321: --
39322: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39318: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39319: --
39320: -- bulk performance
39321: --
39322: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39323:
39324: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39325: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39326:
39320: -- bulk performance
39321: --
39322: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39323:
39324: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39325: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39326:
39327: -- 4955764
39328: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39324: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39325: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39326:
39327: -- 4955764
39328: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39329: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39330:
39331: -- 4458381 Public Sector Enh
39332:
39414: l_rec_acct_attrs.array_num_value(33) := p_source_32;
39415: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
39416: l_rec_acct_attrs.array_num_value(34) := p_source_32;
39417:
39418: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39419: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39420:
39421: ---------------------------------------------------------------------------------------------------------------
39422: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39415: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
39416: l_rec_acct_attrs.array_num_value(34) := p_source_32;
39417:
39418: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39419: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39420:
39421: ---------------------------------------------------------------------------------------------------------------
39422: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39423: ---------------------------------------------------------------------------------------------------------------
39418: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39419: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39420:
39421: ---------------------------------------------------------------------------------------------------------------
39422: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39423: ---------------------------------------------------------------------------------------------------------------
39424: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39425:
39426: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39420:
39421: ---------------------------------------------------------------------------------------------------------------
39422: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39423: ---------------------------------------------------------------------------------------------------------------
39424: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39425:
39426: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39427: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39428:
39422: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39423: ---------------------------------------------------------------------------------------------------------------
39424: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39425:
39426: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39427: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39428:
39429: IF xla_accounting_cache_pkg.GetValueChar
39430: (p_source_code => 'LEDGER_CATEGORY_CODE'
39423: ---------------------------------------------------------------------------------------------------------------
39424: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39425:
39426: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39427: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39428:
39429: IF xla_accounting_cache_pkg.GetValueChar
39430: (p_source_code => 'LEDGER_CATEGORY_CODE'
39431: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39434: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39435: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39436: )
39437: THEN
39438: xla_ae_lines_pkg.BflowUpgEntry
39439: (p_business_method_code => l_bflow_method_code
39440: ,p_business_class_code => l_bflow_class_code
39441: ,p_balance_type => l_balance_type_code);
39442: ELSE
39451: --
39452: -- call description
39453: --
39454:
39455: xla_ae_lines_pkg.SetLineDescription(
39456: p_ae_header_id => l_ae_header_id
39457: ,p_description => Description_2 (
39458: p_application_id => p_application_id
39459: , p_ae_header_id => l_ae_header_id
39484: , x_value_type_code => l_adr_value_type_code
39485: , p_side => 'NA'
39486: );
39487:
39488: xla_ae_lines_pkg.set_ccid(
39489: p_code_combination_id => l_ccid
39490: , p_value_type_code => l_adr_value_type_code
39491: , p_transaction_coa_id => l_adr_transaction_coa_id
39492: , p_accounting_coa_id => l_adr_accounting_coa_id
39518: );
39519:
39520: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39521:
39522: xla_ae_lines_pkg.set_segment(
39523: p_to_segment_code => 'GL_ACCOUNT'
39524: , p_segment_value => l_segment
39525: , p_from_segment_code => l_adr_value_segment_code
39526: , p_from_combination_id => l_adr_value_combination_id
39562: xla_accounting_err_pkg.build_message
39563: (p_appli_s_name => 'XLA'
39564: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39565: ,p_token_1 => 'LINE_NUMBER'
39566: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39567: ,p_token_2 => 'LINE_TYPE_NAME'
39568: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39569: l_component_type
39570: ,l_component_code
39598: --
39599: --
39600: ------------------------------------------------------------------------------------------------
39601: -- 4219869 Business Flow
39602: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39603: -- Prior Entry. Currently, the following code is always generated.
39604: ------------------------------------------------------------------------------------------------
39605: XLA_AE_LINES_PKG.ValidateCurrentLine;
39606:
39601: -- 4219869 Business Flow
39602: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39603: -- Prior Entry. Currently, the following code is always generated.
39604: ------------------------------------------------------------------------------------------------
39605: XLA_AE_LINES_PKG.ValidateCurrentLine;
39606:
39607: ------------------------------------------------------------------------------------
39608: -- 4219869 Business Flow
39609: -- Populated credit and debit amounts -- Need to generate this within IF
39607: ------------------------------------------------------------------------------------
39608: -- 4219869 Business Flow
39609: -- Populated credit and debit amounts -- Need to generate this within IF
39610: ------------------------------------------------------------------------------------
39611: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39612:
39613: ----------------------------------------------------------------------------------
39614: -- 4219869 Business Flow
39615: -- Update journal entry status -- Need to generate this within IF
39639: -- To allow MPA report to determine if it should generate report process
39640: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39641: ------------------------------------------------------------------------------------------
39642:
39643: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39644: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39645:
39646: --
39647: -- Update the line information that should be overwritten
39640: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39641: ------------------------------------------------------------------------------------------
39642:
39643: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39644: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39645:
39646: --
39647: -- Update the line information that should be overwritten
39648: --
39645:
39646: --
39647: -- Update the line information that should be overwritten
39648: --
39649: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39650: p_header_num => 1);
39651: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39652:
39653: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39647: -- Update the line information that should be overwritten
39648: --
39649: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39650: p_header_num => 1);
39651: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39652:
39653: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39654:
39655: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39649: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39650: p_header_num => 1);
39651: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39652:
39653: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39654:
39655: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39656: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39657: END IF;
39652:
39653: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39654:
39655: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39656: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39657: END IF;
39658:
39659: --
39660: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39659: --
39660: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39661: --
39662: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39663: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39664: ELSE
39665: ---------------------------------------------------------------------------------------------------
39666: -- 4262811a Switch Sign
39667: ---------------------------------------------------------------------------------------------------
39664: ELSE
39665: ---------------------------------------------------------------------------------------------------
39666: -- 4262811a Switch Sign
39667: ---------------------------------------------------------------------------------------------------
39668: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39669: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39665: ---------------------------------------------------------------------------------------------------
39666: -- 4262811a Switch Sign
39667: ---------------------------------------------------------------------------------------------------
39668: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39669: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39666: -- 4262811a Switch Sign
39667: ---------------------------------------------------------------------------------------------------
39668: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39669: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39674: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39667: ---------------------------------------------------------------------------------------------------
39668: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39669: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39674: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39675: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39668: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39669: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39674: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39675: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39676:
39670: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39674: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39675: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39676:
39677: END IF;
39678:
39671: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39672: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39673: -- 5132302
39674: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39675: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39676:
39677: END IF;
39678:
39679: -- 4955764
39676:
39677: END IF;
39678:
39679: -- 4955764
39680: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39681: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39682:
39683:
39684: XLA_AE_LINES_PKG.ValidateCurrentLine;
39680: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39681: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39682:
39683:
39684: XLA_AE_LINES_PKG.ValidateCurrentLine;
39685: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39686:
39687: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39688: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39681: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39682:
39683:
39684: XLA_AE_LINES_PKG.ValidateCurrentLine;
39685: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39686:
39687: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39688: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39689: ,p_balance_type_code => l_balance_type_code);
39832: --
39833: -- bulk performance
39834: --
39835: l_balance_type_code VARCHAR2(1);
39836: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39837: l_log_module VARCHAR2(240);
39838:
39839: --
39840: -- Upgrade strategy
39928: ') = 'M'
39929: THEN
39930:
39931: --
39932: XLA_AE_LINES_PKG.SetNewLine;
39933:
39934: p_balance_type_code := l_balance_type_code;
39935: -- set the flag so later we will know whether the gain loss line needs to be created
39936:
39940:
39941: --
39942: -- bulk performance
39943: --
39944: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39945: p_header_num => 0); -- 4262811
39946: --
39947: -- set accounting line options
39948: --
39945: p_header_num => 0); -- 4262811
39946: --
39947: -- set accounting line options
39948: --
39949: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39950: p_natural_side_code => 'C'
39951: , p_gain_or_loss_flag => 'N'
39952: , p_gl_transfer_mode_code => 'S'
39953: , p_acct_entry_type_code => 'A'
39959: --
39960: --
39961: -- set accounting line type info
39962: --
39963: xla_ae_lines_pkg.SetAcctLineType
39964: (p_component_type => l_component_type
39965: ,p_event_type_code => l_event_type_code
39966: ,p_line_definition_owner_code => l_line_definition_owner_code
39967: ,p_line_definition_code => l_line_definition_code
39973: ,p_event_class_code => l_event_class_code);
39974: --
39975: -- set accounting class
39976: --
39977: xla_ae_lines_pkg.SetAcctClass(
39978: p_accounting_class_code => 'PURCHASE_ORDER'
39979: , p_ae_header_id => l_ae_header_id
39980: );
39981:
39981:
39982: --
39983: -- set rounding class
39984: --
39985: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39986: 'PURCHASE_ORDER';
39987:
39988: --
39989: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39985: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39986: 'PURCHASE_ORDER';
39987:
39988: --
39989: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39990: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39991: --
39992: -- bulk performance
39993: --
39986: 'PURCHASE_ORDER';
39987:
39988: --
39989: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39990: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39991: --
39992: -- bulk performance
39993: --
39994: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39990: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39991: --
39992: -- bulk performance
39993: --
39994: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39995:
39996: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39997: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39998:
39992: -- bulk performance
39993: --
39994: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39995:
39996: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39997: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39998:
39999: -- 4955764
40000: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39996: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39997: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39998:
39999: -- 4955764
40000: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40001: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40002:
40003: -- 4458381 Public Sector Enh
40004:
40080: l_rec_acct_attrs.array_num_value(30) := p_source_32;
40081: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
40082: l_rec_acct_attrs.array_num_value(31) := p_source_32;
40083:
40084: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40085: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40086:
40087: ---------------------------------------------------------------------------------------------------------------
40088: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40081: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
40082: l_rec_acct_attrs.array_num_value(31) := p_source_32;
40083:
40084: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40085: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40086:
40087: ---------------------------------------------------------------------------------------------------------------
40088: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40089: ---------------------------------------------------------------------------------------------------------------
40084: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40085: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40086:
40087: ---------------------------------------------------------------------------------------------------------------
40088: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40089: ---------------------------------------------------------------------------------------------------------------
40090: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40091:
40092: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40086:
40087: ---------------------------------------------------------------------------------------------------------------
40088: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40089: ---------------------------------------------------------------------------------------------------------------
40090: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40091:
40092: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40093: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40094:
40088: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40089: ---------------------------------------------------------------------------------------------------------------
40090: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40091:
40092: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40093: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40094:
40095: IF xla_accounting_cache_pkg.GetValueChar
40096: (p_source_code => 'LEDGER_CATEGORY_CODE'
40089: ---------------------------------------------------------------------------------------------------------------
40090: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40091:
40092: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40093: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40094:
40095: IF xla_accounting_cache_pkg.GetValueChar
40096: (p_source_code => 'LEDGER_CATEGORY_CODE'
40097: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40100: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40101: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40102: )
40103: THEN
40104: xla_ae_lines_pkg.BflowUpgEntry
40105: (p_business_method_code => l_bflow_method_code
40106: ,p_business_class_code => l_bflow_class_code
40107: ,p_balance_type => l_balance_type_code);
40108: ELSE
40106: ,p_business_class_code => l_bflow_class_code
40107: ,p_balance_type => l_balance_type_code);
40108: ELSE
40109: NULL;
40110: XLA_AE_LINES_PKG.business_flow_validation(
40111: p_business_method_code => l_bflow_method_code
40112: ,p_business_class_code => l_bflow_class_code
40113: ,p_inherit_description_flag => l_inherit_desc_flag);
40114: END IF;
40143: , x_value_type_code => l_adr_value_type_code
40144: , p_side => 'NA'
40145: );
40146:
40147: xla_ae_lines_pkg.set_ccid(
40148: p_code_combination_id => l_ccid
40149: , p_value_type_code => l_adr_value_type_code
40150: , p_transaction_coa_id => l_adr_transaction_coa_id
40151: , p_accounting_coa_id => l_adr_accounting_coa_id
40177: );
40178:
40179: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40180:
40181: xla_ae_lines_pkg.set_segment(
40182: p_to_segment_code => 'GL_ACCOUNT'
40183: , p_segment_value => l_segment
40184: , p_from_segment_code => l_adr_value_segment_code
40185: , p_from_combination_id => l_adr_value_combination_id
40221: xla_accounting_err_pkg.build_message
40222: (p_appli_s_name => 'XLA'
40223: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40224: ,p_token_1 => 'LINE_NUMBER'
40225: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40226: ,p_token_2 => 'LINE_TYPE_NAME'
40227: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40228: l_component_type
40229: ,l_component_code
40257: --
40258: --
40259: ------------------------------------------------------------------------------------------------
40260: -- 4219869 Business Flow
40261: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40262: -- Prior Entry. Currently, the following code is always generated.
40263: ------------------------------------------------------------------------------------------------
40264: -- No ValidateCurrentLine for business flow method of Prior Entry
40265:
40266: ------------------------------------------------------------------------------------
40267: -- 4219869 Business Flow
40268: -- Populated credit and debit amounts -- Need to generate this within IF
40269: ------------------------------------------------------------------------------------
40270: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40271:
40272: ----------------------------------------------------------------------------------
40273: -- 4219869 Business Flow
40274: -- Update journal entry status -- Need to generate this within IF
40298: -- To allow MPA report to determine if it should generate report process
40299: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40300: ------------------------------------------------------------------------------------------
40301:
40302: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40303: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40304:
40305: --
40306: -- Update the line information that should be overwritten
40299: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40300: ------------------------------------------------------------------------------------------
40301:
40302: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40303: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40304:
40305: --
40306: -- Update the line information that should be overwritten
40307: --
40304:
40305: --
40306: -- Update the line information that should be overwritten
40307: --
40308: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40309: p_header_num => 1);
40310: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40311:
40312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40306: -- Update the line information that should be overwritten
40307: --
40308: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40309: p_header_num => 1);
40310: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40311:
40312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40313:
40314: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40308: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40309: p_header_num => 1);
40310: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40311:
40312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40313:
40314: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40315: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40316: END IF;
40311:
40312: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40313:
40314: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40315: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40316: END IF;
40317:
40318: --
40319: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40318: --
40319: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40320: --
40321: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40322: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40323: ELSE
40324: ---------------------------------------------------------------------------------------------------
40325: -- 4262811a Switch Sign
40326: ---------------------------------------------------------------------------------------------------
40323: ELSE
40324: ---------------------------------------------------------------------------------------------------
40325: -- 4262811a Switch Sign
40326: ---------------------------------------------------------------------------------------------------
40327: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40328: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40324: ---------------------------------------------------------------------------------------------------
40325: -- 4262811a Switch Sign
40326: ---------------------------------------------------------------------------------------------------
40327: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40328: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40325: -- 4262811a Switch Sign
40326: ---------------------------------------------------------------------------------------------------
40327: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40328: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40333: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40326: ---------------------------------------------------------------------------------------------------
40327: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40328: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40333: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40334: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40327: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40328: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40333: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40334: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40335:
40329: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40333: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40334: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40335:
40336: END IF;
40337:
40330: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40331: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40332: -- 5132302
40333: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40334: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40335:
40336: END IF;
40337:
40338: -- 4955764
40335:
40336: END IF;
40337:
40338: -- 4955764
40339: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40340: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40341:
40342:
40343: XLA_AE_LINES_PKG.ValidateCurrentLine;
40339: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40340: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40341:
40342:
40343: XLA_AE_LINES_PKG.ValidateCurrentLine;
40344: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40345:
40346: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40347: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40340: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40341:
40342:
40343: XLA_AE_LINES_PKG.ValidateCurrentLine;
40344: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40345:
40346: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40347: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40348: ,p_balance_type_code => l_balance_type_code);
40487: --
40488: -- bulk performance
40489: --
40490: l_balance_type_code VARCHAR2(1);
40491: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40492: l_log_module VARCHAR2(240);
40493:
40494: --
40495: -- Upgrade strategy
40583: ') = 'M'
40584: THEN
40585:
40586: --
40587: XLA_AE_LINES_PKG.SetNewLine;
40588:
40589: p_balance_type_code := l_balance_type_code;
40590: -- set the flag so later we will know whether the gain loss line needs to be created
40591:
40595:
40596: --
40597: -- bulk performance
40598: --
40599: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40600: p_header_num => 0); -- 4262811
40601: --
40602: -- set accounting line options
40603: --
40600: p_header_num => 0); -- 4262811
40601: --
40602: -- set accounting line options
40603: --
40604: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40605: p_natural_side_code => 'D'
40606: , p_gain_or_loss_flag => 'N'
40607: , p_gl_transfer_mode_code => 'S'
40608: , p_acct_entry_type_code => 'A'
40614: --
40615: --
40616: -- set accounting line type info
40617: --
40618: xla_ae_lines_pkg.SetAcctLineType
40619: (p_component_type => l_component_type
40620: ,p_event_type_code => l_event_type_code
40621: ,p_line_definition_owner_code => l_line_definition_owner_code
40622: ,p_line_definition_code => l_line_definition_code
40628: ,p_event_class_code => l_event_class_code);
40629: --
40630: -- set accounting class
40631: --
40632: xla_ae_lines_pkg.SetAcctClass(
40633: p_accounting_class_code => 'PURCHASE_ORDER'
40634: , p_ae_header_id => l_ae_header_id
40635: );
40636:
40636:
40637: --
40638: -- set rounding class
40639: --
40640: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40641: 'PURCHASE_ORDER';
40642:
40643: --
40644: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40640: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40641: 'PURCHASE_ORDER';
40642:
40643: --
40644: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40645: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40646: --
40647: -- bulk performance
40648: --
40641: 'PURCHASE_ORDER';
40642:
40643: --
40644: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40645: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40646: --
40647: -- bulk performance
40648: --
40649: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40645: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40646: --
40647: -- bulk performance
40648: --
40649: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40650:
40651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40652: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40653:
40647: -- bulk performance
40648: --
40649: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40650:
40651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40652: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40653:
40654: -- 4955764
40655: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40651: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40652: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40653:
40654: -- 4955764
40655: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40656: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40657:
40658: -- 4458381 Public Sector Enh
40659:
40735: l_rec_acct_attrs.array_num_value(30) := p_source_32;
40736: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
40737: l_rec_acct_attrs.array_num_value(31) := p_source_32;
40738:
40739: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40740: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40741:
40742: ---------------------------------------------------------------------------------------------------------------
40743: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40736: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
40737: l_rec_acct_attrs.array_num_value(31) := p_source_32;
40738:
40739: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40740: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40741:
40742: ---------------------------------------------------------------------------------------------------------------
40743: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40744: ---------------------------------------------------------------------------------------------------------------
40739: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40740: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40741:
40742: ---------------------------------------------------------------------------------------------------------------
40743: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40744: ---------------------------------------------------------------------------------------------------------------
40745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40746:
40747: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40741:
40742: ---------------------------------------------------------------------------------------------------------------
40743: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40744: ---------------------------------------------------------------------------------------------------------------
40745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40746:
40747: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40748: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40749:
40743: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40744: ---------------------------------------------------------------------------------------------------------------
40745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40746:
40747: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40748: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40749:
40750: IF xla_accounting_cache_pkg.GetValueChar
40751: (p_source_code => 'LEDGER_CATEGORY_CODE'
40744: ---------------------------------------------------------------------------------------------------------------
40745: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40746:
40747: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40748: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40749:
40750: IF xla_accounting_cache_pkg.GetValueChar
40751: (p_source_code => 'LEDGER_CATEGORY_CODE'
40752: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40755: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40756: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40757: )
40758: THEN
40759: xla_ae_lines_pkg.BflowUpgEntry
40760: (p_business_method_code => l_bflow_method_code
40761: ,p_business_class_code => l_bflow_class_code
40762: ,p_balance_type => l_balance_type_code);
40763: ELSE
40761: ,p_business_class_code => l_bflow_class_code
40762: ,p_balance_type => l_balance_type_code);
40763: ELSE
40764: NULL;
40765: XLA_AE_LINES_PKG.business_flow_validation(
40766: p_business_method_code => l_bflow_method_code
40767: ,p_business_class_code => l_bflow_class_code
40768: ,p_inherit_description_flag => l_inherit_desc_flag);
40769: END IF;
40798: , x_value_type_code => l_adr_value_type_code
40799: , p_side => 'NA'
40800: );
40801:
40802: xla_ae_lines_pkg.set_ccid(
40803: p_code_combination_id => l_ccid
40804: , p_value_type_code => l_adr_value_type_code
40805: , p_transaction_coa_id => l_adr_transaction_coa_id
40806: , p_accounting_coa_id => l_adr_accounting_coa_id
40830: );
40831:
40832: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40833:
40834: xla_ae_lines_pkg.set_segment(
40835: p_to_segment_code => 'GL_ACCOUNT'
40836: , p_segment_value => l_segment
40837: , p_from_segment_code => l_adr_value_segment_code
40838: , p_from_combination_id => l_adr_value_combination_id
40874: xla_accounting_err_pkg.build_message
40875: (p_appli_s_name => 'XLA'
40876: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40877: ,p_token_1 => 'LINE_NUMBER'
40878: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40879: ,p_token_2 => 'LINE_TYPE_NAME'
40880: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40881: l_component_type
40882: ,l_component_code
40910: --
40911: --
40912: ------------------------------------------------------------------------------------------------
40913: -- 4219869 Business Flow
40914: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40915: -- Prior Entry. Currently, the following code is always generated.
40916: ------------------------------------------------------------------------------------------------
40917: -- No ValidateCurrentLine for business flow method of Prior Entry
40918:
40919: ------------------------------------------------------------------------------------
40920: -- 4219869 Business Flow
40921: -- Populated credit and debit amounts -- Need to generate this within IF
40922: ------------------------------------------------------------------------------------
40923: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40924:
40925: ----------------------------------------------------------------------------------
40926: -- 4219869 Business Flow
40927: -- Update journal entry status -- Need to generate this within IF
40951: -- To allow MPA report to determine if it should generate report process
40952: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40953: ------------------------------------------------------------------------------------------
40954:
40955: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40956: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40957:
40958: --
40959: -- Update the line information that should be overwritten
40952: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40953: ------------------------------------------------------------------------------------------
40954:
40955: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40956: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40957:
40958: --
40959: -- Update the line information that should be overwritten
40960: --
40957:
40958: --
40959: -- Update the line information that should be overwritten
40960: --
40961: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40962: p_header_num => 1);
40963: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40964:
40965: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40959: -- Update the line information that should be overwritten
40960: --
40961: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40962: p_header_num => 1);
40963: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40964:
40965: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40966:
40967: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40961: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40962: p_header_num => 1);
40963: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40964:
40965: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40966:
40967: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40968: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40969: END IF;
40964:
40965: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40966:
40967: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40968: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40969: END IF;
40970:
40971: --
40972: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40971: --
40972: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40973: --
40974: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40975: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40976: ELSE
40977: ---------------------------------------------------------------------------------------------------
40978: -- 4262811a Switch Sign
40979: ---------------------------------------------------------------------------------------------------
40976: ELSE
40977: ---------------------------------------------------------------------------------------------------
40978: -- 4262811a Switch Sign
40979: ---------------------------------------------------------------------------------------------------
40980: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40981: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40977: ---------------------------------------------------------------------------------------------------
40978: -- 4262811a Switch Sign
40979: ---------------------------------------------------------------------------------------------------
40980: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40981: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40978: -- 4262811a Switch Sign
40979: ---------------------------------------------------------------------------------------------------
40980: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40981: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40986: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40979: ---------------------------------------------------------------------------------------------------
40980: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40981: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40986: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40987: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40980: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40981: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40986: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40987: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40988:
40982: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40986: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40987: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40988:
40989: END IF;
40990:
40983: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40984: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40985: -- 5132302
40986: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40987: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40988:
40989: END IF;
40990:
40991: -- 4955764
40988:
40989: END IF;
40990:
40991: -- 4955764
40992: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40993: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40994:
40995:
40996: XLA_AE_LINES_PKG.ValidateCurrentLine;
40992: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40993: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40994:
40995:
40996: XLA_AE_LINES_PKG.ValidateCurrentLine;
40997: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40998:
40999: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41000: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40993: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40994:
40995:
40996: XLA_AE_LINES_PKG.ValidateCurrentLine;
40997: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40998:
40999: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41000: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41001: ,p_balance_type_code => l_balance_type_code);
41150: --
41151: -- bulk performance
41152: --
41153: l_balance_type_code VARCHAR2(1);
41154: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41155: l_log_module VARCHAR2(240);
41156:
41157: --
41158: -- Upgrade strategy
41225: ') = 'M'
41226: THEN
41227:
41228: --
41229: XLA_AE_LINES_PKG.SetNewLine;
41230:
41231: p_balance_type_code := l_balance_type_code;
41232: -- set the flag so later we will know whether the gain loss line needs to be created
41233:
41237:
41238: --
41239: -- bulk performance
41240: --
41241: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41242: p_header_num => 0); -- 4262811
41243: --
41244: -- set accounting line options
41245: --
41242: p_header_num => 0); -- 4262811
41243: --
41244: -- set accounting line options
41245: --
41246: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41247: p_natural_side_code => 'C'
41248: , p_gain_or_loss_flag => 'N'
41249: , p_gl_transfer_mode_code => 'S'
41250: , p_acct_entry_type_code => 'A'
41256: --
41257: --
41258: -- set accounting line type info
41259: --
41260: xla_ae_lines_pkg.SetAcctLineType
41261: (p_component_type => l_component_type
41262: ,p_event_type_code => l_event_type_code
41263: ,p_line_definition_owner_code => l_line_definition_owner_code
41264: ,p_line_definition_code => l_line_definition_code
41270: ,p_event_class_code => l_event_class_code);
41271: --
41272: -- set accounting class
41273: --
41274: xla_ae_lines_pkg.SetAcctClass(
41275: p_accounting_class_code => 'PURCHASE_ORDER'
41276: , p_ae_header_id => l_ae_header_id
41277: );
41278:
41278:
41279: --
41280: -- set rounding class
41281: --
41282: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41283: 'PURCHASE_ORDER';
41284:
41285: --
41286: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41282: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41283: 'PURCHASE_ORDER';
41284:
41285: --
41286: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41287: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41288: --
41289: -- bulk performance
41290: --
41283: 'PURCHASE_ORDER';
41284:
41285: --
41286: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41287: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41288: --
41289: -- bulk performance
41290: --
41291: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41287: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41288: --
41289: -- bulk performance
41290: --
41291: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41292:
41293: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41294: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41295:
41289: -- bulk performance
41290: --
41291: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41292:
41293: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41294: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41295:
41296: -- 4955764
41297: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41293: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41294: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41295:
41296: -- 4955764
41297: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41298: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41299:
41300: -- 4458381 Public Sector Enh
41301:
41379: l_rec_acct_attrs.array_num_value(31) := p_source_32;
41380: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
41381: l_rec_acct_attrs.array_num_value(32) := p_source_32;
41382:
41383: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41384: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41385:
41386: ---------------------------------------------------------------------------------------------------------------
41387: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41380: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
41381: l_rec_acct_attrs.array_num_value(32) := p_source_32;
41382:
41383: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41384: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41385:
41386: ---------------------------------------------------------------------------------------------------------------
41387: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41388: ---------------------------------------------------------------------------------------------------------------
41383: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41384: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41385:
41386: ---------------------------------------------------------------------------------------------------------------
41387: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41388: ---------------------------------------------------------------------------------------------------------------
41389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41390:
41391: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41385:
41386: ---------------------------------------------------------------------------------------------------------------
41387: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41388: ---------------------------------------------------------------------------------------------------------------
41389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41390:
41391: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41392: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41393:
41387: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41388: ---------------------------------------------------------------------------------------------------------------
41389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41390:
41391: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41392: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41393:
41394: IF xla_accounting_cache_pkg.GetValueChar
41395: (p_source_code => 'LEDGER_CATEGORY_CODE'
41388: ---------------------------------------------------------------------------------------------------------------
41389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41390:
41391: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41392: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41393:
41394: IF xla_accounting_cache_pkg.GetValueChar
41395: (p_source_code => 'LEDGER_CATEGORY_CODE'
41396: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41399: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41400: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41401: )
41402: THEN
41403: xla_ae_lines_pkg.BflowUpgEntry
41404: (p_business_method_code => l_bflow_method_code
41405: ,p_business_class_code => l_bflow_class_code
41406: ,p_balance_type => l_balance_type_code);
41407: ELSE
41416: --
41417: -- call description
41418: --
41419:
41420: xla_ae_lines_pkg.SetLineDescription(
41421: p_ae_header_id => l_ae_header_id
41422: ,p_description => Description_2 (
41423: p_application_id => p_application_id
41424: , p_ae_header_id => l_ae_header_id
41449: , x_value_type_code => l_adr_value_type_code
41450: , p_side => 'NA'
41451: );
41452:
41453: xla_ae_lines_pkg.set_ccid(
41454: p_code_combination_id => l_ccid
41455: , p_value_type_code => l_adr_value_type_code
41456: , p_transaction_coa_id => l_adr_transaction_coa_id
41457: , p_accounting_coa_id => l_adr_accounting_coa_id
41483: );
41484:
41485: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
41486:
41487: xla_ae_lines_pkg.set_segment(
41488: p_to_segment_code => 'GL_ACCOUNT'
41489: , p_segment_value => l_segment
41490: , p_from_segment_code => l_adr_value_segment_code
41491: , p_from_combination_id => l_adr_value_combination_id
41527: xla_accounting_err_pkg.build_message
41528: (p_appli_s_name => 'XLA'
41529: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41530: ,p_token_1 => 'LINE_NUMBER'
41531: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41532: ,p_token_2 => 'LINE_TYPE_NAME'
41533: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41534: l_component_type
41535: ,l_component_code
41563: --
41564: --
41565: ------------------------------------------------------------------------------------------------
41566: -- 4219869 Business Flow
41567: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41568: -- Prior Entry. Currently, the following code is always generated.
41569: ------------------------------------------------------------------------------------------------
41570: XLA_AE_LINES_PKG.ValidateCurrentLine;
41571:
41566: -- 4219869 Business Flow
41567: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41568: -- Prior Entry. Currently, the following code is always generated.
41569: ------------------------------------------------------------------------------------------------
41570: XLA_AE_LINES_PKG.ValidateCurrentLine;
41571:
41572: ------------------------------------------------------------------------------------
41573: -- 4219869 Business Flow
41574: -- Populated credit and debit amounts -- Need to generate this within IF
41572: ------------------------------------------------------------------------------------
41573: -- 4219869 Business Flow
41574: -- Populated credit and debit amounts -- Need to generate this within IF
41575: ------------------------------------------------------------------------------------
41576: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41577:
41578: ----------------------------------------------------------------------------------
41579: -- 4219869 Business Flow
41580: -- Update journal entry status -- Need to generate this within IF
41604: -- To allow MPA report to determine if it should generate report process
41605: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41606: ------------------------------------------------------------------------------------------
41607:
41608: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41609: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41610:
41611: --
41612: -- Update the line information that should be overwritten
41605: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41606: ------------------------------------------------------------------------------------------
41607:
41608: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41609: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41610:
41611: --
41612: -- Update the line information that should be overwritten
41613: --
41610:
41611: --
41612: -- Update the line information that should be overwritten
41613: --
41614: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41615: p_header_num => 1);
41616: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41617:
41618: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41612: -- Update the line information that should be overwritten
41613: --
41614: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41615: p_header_num => 1);
41616: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41617:
41618: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41619:
41620: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41614: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41615: p_header_num => 1);
41616: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41617:
41618: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41619:
41620: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41621: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41622: END IF;
41617:
41618: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41619:
41620: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41621: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41622: END IF;
41623:
41624: --
41625: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41624: --
41625: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41626: --
41627: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41628: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41629: ELSE
41630: ---------------------------------------------------------------------------------------------------
41631: -- 4262811a Switch Sign
41632: ---------------------------------------------------------------------------------------------------
41629: ELSE
41630: ---------------------------------------------------------------------------------------------------
41631: -- 4262811a Switch Sign
41632: ---------------------------------------------------------------------------------------------------
41633: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41634: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41630: ---------------------------------------------------------------------------------------------------
41631: -- 4262811a Switch Sign
41632: ---------------------------------------------------------------------------------------------------
41633: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41634: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41631: -- 4262811a Switch Sign
41632: ---------------------------------------------------------------------------------------------------
41633: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41634: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41639: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41632: ---------------------------------------------------------------------------------------------------
41633: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41634: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41639: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41640: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41633: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41634: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41639: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41640: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41641:
41635: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41639: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41640: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41641:
41642: END IF;
41643:
41636: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41637: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41638: -- 5132302
41639: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41640: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41641:
41642: END IF;
41643:
41644: -- 4955764
41641:
41642: END IF;
41643:
41644: -- 4955764
41645: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41646: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41647:
41648:
41649: XLA_AE_LINES_PKG.ValidateCurrentLine;
41645: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41646: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41647:
41648:
41649: XLA_AE_LINES_PKG.ValidateCurrentLine;
41650: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41651:
41652: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41653: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41646: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41647:
41648:
41649: XLA_AE_LINES_PKG.ValidateCurrentLine;
41650: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41651:
41652: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41653: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41654: ,p_balance_type_code => l_balance_type_code);
41799: --
41800: -- bulk performance
41801: --
41802: l_balance_type_code VARCHAR2(1);
41803: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41804: l_log_module VARCHAR2(240);
41805:
41806: --
41807: -- Upgrade strategy
41874: ') = 'M'
41875: THEN
41876:
41877: --
41878: XLA_AE_LINES_PKG.SetNewLine;
41879:
41880: p_balance_type_code := l_balance_type_code;
41881: -- set the flag so later we will know whether the gain loss line needs to be created
41882:
41886:
41887: --
41888: -- bulk performance
41889: --
41890: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41891: p_header_num => 0); -- 4262811
41892: --
41893: -- set accounting line options
41894: --
41891: p_header_num => 0); -- 4262811
41892: --
41893: -- set accounting line options
41894: --
41895: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41896: p_natural_side_code => 'D'
41897: , p_gain_or_loss_flag => 'N'
41898: , p_gl_transfer_mode_code => 'S'
41899: , p_acct_entry_type_code => 'A'
41905: --
41906: --
41907: -- set accounting line type info
41908: --
41909: xla_ae_lines_pkg.SetAcctLineType
41910: (p_component_type => l_component_type
41911: ,p_event_type_code => l_event_type_code
41912: ,p_line_definition_owner_code => l_line_definition_owner_code
41913: ,p_line_definition_code => l_line_definition_code
41919: ,p_event_class_code => l_event_class_code);
41920: --
41921: -- set accounting class
41922: --
41923: xla_ae_lines_pkg.SetAcctClass(
41924: p_accounting_class_code => 'PURCHASE_ORDER'
41925: , p_ae_header_id => l_ae_header_id
41926: );
41927:
41927:
41928: --
41929: -- set rounding class
41930: --
41931: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41932: 'PURCHASE_ORDER';
41933:
41934: --
41935: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41931: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41932: 'PURCHASE_ORDER';
41933:
41934: --
41935: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41936: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41937: --
41938: -- bulk performance
41939: --
41932: 'PURCHASE_ORDER';
41933:
41934: --
41935: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41936: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41937: --
41938: -- bulk performance
41939: --
41940: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41936: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41937: --
41938: -- bulk performance
41939: --
41940: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41941:
41942: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41943: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41944:
41938: -- bulk performance
41939: --
41940: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41941:
41942: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41943: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41944:
41945: -- 4955764
41946: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41942: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41943: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41944:
41945: -- 4955764
41946: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41947: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41948:
41949: -- 4458381 Public Sector Enh
41950:
42028: l_rec_acct_attrs.array_num_value(31) := p_source_32;
42029: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
42030: l_rec_acct_attrs.array_num_value(32) := p_source_32;
42031:
42032: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42033: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42034:
42035: ---------------------------------------------------------------------------------------------------------------
42036: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42029: l_rec_acct_attrs.array_acct_attr_code(32) := 'UPG_DR_ENC_TYPE_ID';
42030: l_rec_acct_attrs.array_num_value(32) := p_source_32;
42031:
42032: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42033: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42034:
42035: ---------------------------------------------------------------------------------------------------------------
42036: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42037: ---------------------------------------------------------------------------------------------------------------
42032: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42033: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42034:
42035: ---------------------------------------------------------------------------------------------------------------
42036: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42037: ---------------------------------------------------------------------------------------------------------------
42038: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42039:
42040: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42034:
42035: ---------------------------------------------------------------------------------------------------------------
42036: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42037: ---------------------------------------------------------------------------------------------------------------
42038: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42039:
42040: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42041: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42042:
42036: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42037: ---------------------------------------------------------------------------------------------------------------
42038: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42039:
42040: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42041: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42042:
42043: IF xla_accounting_cache_pkg.GetValueChar
42044: (p_source_code => 'LEDGER_CATEGORY_CODE'
42037: ---------------------------------------------------------------------------------------------------------------
42038: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42039:
42040: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42041: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42042:
42043: IF xla_accounting_cache_pkg.GetValueChar
42044: (p_source_code => 'LEDGER_CATEGORY_CODE'
42045: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42048: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42049: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42050: )
42051: THEN
42052: xla_ae_lines_pkg.BflowUpgEntry
42053: (p_business_method_code => l_bflow_method_code
42054: ,p_business_class_code => l_bflow_class_code
42055: ,p_balance_type => l_balance_type_code);
42056: ELSE
42065: --
42066: -- call description
42067: --
42068:
42069: xla_ae_lines_pkg.SetLineDescription(
42070: p_ae_header_id => l_ae_header_id
42071: ,p_description => Description_2 (
42072: p_application_id => p_application_id
42073: , p_ae_header_id => l_ae_header_id
42098: , x_value_type_code => l_adr_value_type_code
42099: , p_side => 'NA'
42100: );
42101:
42102: xla_ae_lines_pkg.set_ccid(
42103: p_code_combination_id => l_ccid
42104: , p_value_type_code => l_adr_value_type_code
42105: , p_transaction_coa_id => l_adr_transaction_coa_id
42106: , p_accounting_coa_id => l_adr_accounting_coa_id
42130: );
42131:
42132: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
42133:
42134: xla_ae_lines_pkg.set_segment(
42135: p_to_segment_code => 'GL_ACCOUNT'
42136: , p_segment_value => l_segment
42137: , p_from_segment_code => l_adr_value_segment_code
42138: , p_from_combination_id => l_adr_value_combination_id
42174: xla_accounting_err_pkg.build_message
42175: (p_appli_s_name => 'XLA'
42176: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42177: ,p_token_1 => 'LINE_NUMBER'
42178: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42179: ,p_token_2 => 'LINE_TYPE_NAME'
42180: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42181: l_component_type
42182: ,l_component_code
42210: --
42211: --
42212: ------------------------------------------------------------------------------------------------
42213: -- 4219869 Business Flow
42214: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42215: -- Prior Entry. Currently, the following code is always generated.
42216: ------------------------------------------------------------------------------------------------
42217: XLA_AE_LINES_PKG.ValidateCurrentLine;
42218:
42213: -- 4219869 Business Flow
42214: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42215: -- Prior Entry. Currently, the following code is always generated.
42216: ------------------------------------------------------------------------------------------------
42217: XLA_AE_LINES_PKG.ValidateCurrentLine;
42218:
42219: ------------------------------------------------------------------------------------
42220: -- 4219869 Business Flow
42221: -- Populated credit and debit amounts -- Need to generate this within IF
42219: ------------------------------------------------------------------------------------
42220: -- 4219869 Business Flow
42221: -- Populated credit and debit amounts -- Need to generate this within IF
42222: ------------------------------------------------------------------------------------
42223: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42224:
42225: ----------------------------------------------------------------------------------
42226: -- 4219869 Business Flow
42227: -- Update journal entry status -- Need to generate this within IF
42251: -- To allow MPA report to determine if it should generate report process
42252: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42253: ------------------------------------------------------------------------------------------
42254:
42255: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42256: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42257:
42258: --
42259: -- Update the line information that should be overwritten
42252: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42253: ------------------------------------------------------------------------------------------
42254:
42255: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42256: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42257:
42258: --
42259: -- Update the line information that should be overwritten
42260: --
42257:
42258: --
42259: -- Update the line information that should be overwritten
42260: --
42261: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42262: p_header_num => 1);
42263: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42264:
42265: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42259: -- Update the line information that should be overwritten
42260: --
42261: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42262: p_header_num => 1);
42263: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42264:
42265: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42266:
42267: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42261: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42262: p_header_num => 1);
42263: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42264:
42265: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42266:
42267: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42268: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42269: END IF;
42264:
42265: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42266:
42267: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42268: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42269: END IF;
42270:
42271: --
42272: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42271: --
42272: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42273: --
42274: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42275: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42276: ELSE
42277: ---------------------------------------------------------------------------------------------------
42278: -- 4262811a Switch Sign
42279: ---------------------------------------------------------------------------------------------------
42276: ELSE
42277: ---------------------------------------------------------------------------------------------------
42278: -- 4262811a Switch Sign
42279: ---------------------------------------------------------------------------------------------------
42280: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42277: ---------------------------------------------------------------------------------------------------
42278: -- 4262811a Switch Sign
42279: ---------------------------------------------------------------------------------------------------
42280: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42278: -- 4262811a Switch Sign
42279: ---------------------------------------------------------------------------------------------------
42280: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42286: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42279: ---------------------------------------------------------------------------------------------------
42280: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42286: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42287: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42280: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42286: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42287: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42288:
42282: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42286: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42287: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42288:
42289: END IF;
42290:
42283: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42284: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42285: -- 5132302
42286: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42287: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42288:
42289: END IF;
42290:
42291: -- 4955764
42288:
42289: END IF;
42290:
42291: -- 4955764
42292: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42293: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42294:
42295:
42296: XLA_AE_LINES_PKG.ValidateCurrentLine;
42292: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42293: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42294:
42295:
42296: XLA_AE_LINES_PKG.ValidateCurrentLine;
42297: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42298:
42299: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42300: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42293: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42294:
42295:
42296: XLA_AE_LINES_PKG.ValidateCurrentLine;
42297: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42298:
42299: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42300: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42301: ,p_balance_type_code => l_balance_type_code);
42438: --
42439: -- bulk performance
42440: --
42441: l_balance_type_code VARCHAR2(1);
42442: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42443: l_log_module VARCHAR2(240);
42444:
42445: --
42446: -- Upgrade strategy
42511: ') = 'REQ_CANCELLED'
42512: THEN
42513:
42514: --
42515: XLA_AE_LINES_PKG.SetNewLine;
42516:
42517: p_balance_type_code := l_balance_type_code;
42518: -- set the flag so later we will know whether the gain loss line needs to be created
42519:
42523:
42524: --
42525: -- bulk performance
42526: --
42527: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42528: p_header_num => 0); -- 4262811
42529: --
42530: -- set accounting line options
42531: --
42528: p_header_num => 0); -- 4262811
42529: --
42530: -- set accounting line options
42531: --
42532: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42533: p_natural_side_code => 'C'
42534: , p_gain_or_loss_flag => 'N'
42535: , p_gl_transfer_mode_code => 'S'
42536: , p_acct_entry_type_code => 'A'
42542: --
42543: --
42544: -- set accounting line type info
42545: --
42546: xla_ae_lines_pkg.SetAcctLineType
42547: (p_component_type => l_component_type
42548: ,p_event_type_code => l_event_type_code
42549: ,p_line_definition_owner_code => l_line_definition_owner_code
42550: ,p_line_definition_code => l_line_definition_code
42556: ,p_event_class_code => l_event_class_code);
42557: --
42558: -- set accounting class
42559: --
42560: xla_ae_lines_pkg.SetAcctClass(
42561: p_accounting_class_code => 'REQUISITION'
42562: , p_ae_header_id => l_ae_header_id
42563: );
42564:
42564:
42565: --
42566: -- set rounding class
42567: --
42568: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42569: 'REQUISITION';
42570:
42571: --
42572: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42568: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42569: 'REQUISITION';
42570:
42571: --
42572: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42573: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42574: --
42575: -- bulk performance
42576: --
42569: 'REQUISITION';
42570:
42571: --
42572: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42573: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42574: --
42575: -- bulk performance
42576: --
42577: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42573: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42574: --
42575: -- bulk performance
42576: --
42577: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42578:
42579: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42580: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42581:
42575: -- bulk performance
42576: --
42577: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42578:
42579: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42580: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42581:
42582: -- 4955764
42583: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42579: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42580: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42581:
42582: -- 4955764
42583: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42584: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42585:
42586: -- 4458381 Public Sector Enh
42587:
42663: l_rec_acct_attrs.array_num_value(30) := p_source_46;
42664: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
42665: l_rec_acct_attrs.array_num_value(31) := p_source_46;
42666:
42667: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42668: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42669:
42670: ---------------------------------------------------------------------------------------------------------------
42671: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42664: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
42665: l_rec_acct_attrs.array_num_value(31) := p_source_46;
42666:
42667: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42668: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42669:
42670: ---------------------------------------------------------------------------------------------------------------
42671: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42672: ---------------------------------------------------------------------------------------------------------------
42667: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42668: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42669:
42670: ---------------------------------------------------------------------------------------------------------------
42671: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42672: ---------------------------------------------------------------------------------------------------------------
42673: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42674:
42675: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42669:
42670: ---------------------------------------------------------------------------------------------------------------
42671: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42672: ---------------------------------------------------------------------------------------------------------------
42673: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42674:
42675: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42676: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42677:
42671: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42672: ---------------------------------------------------------------------------------------------------------------
42673: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42674:
42675: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42676: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42677:
42678: IF xla_accounting_cache_pkg.GetValueChar
42679: (p_source_code => 'LEDGER_CATEGORY_CODE'
42672: ---------------------------------------------------------------------------------------------------------------
42673: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42674:
42675: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42676: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42677:
42678: IF xla_accounting_cache_pkg.GetValueChar
42679: (p_source_code => 'LEDGER_CATEGORY_CODE'
42680: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42683: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42684: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42685: )
42686: THEN
42687: xla_ae_lines_pkg.BflowUpgEntry
42688: (p_business_method_code => l_bflow_method_code
42689: ,p_business_class_code => l_bflow_class_code
42690: ,p_balance_type => l_balance_type_code);
42691: ELSE
42689: ,p_business_class_code => l_bflow_class_code
42690: ,p_balance_type => l_balance_type_code);
42691: ELSE
42692: NULL;
42693: XLA_AE_LINES_PKG.business_flow_validation(
42694: p_business_method_code => l_bflow_method_code
42695: ,p_business_class_code => l_bflow_class_code
42696: ,p_inherit_description_flag => l_inherit_desc_flag);
42697: END IF;
42736: xla_accounting_err_pkg.build_message
42737: (p_appli_s_name => 'XLA'
42738: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42739: ,p_token_1 => 'LINE_NUMBER'
42740: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42741: ,p_token_2 => 'LINE_TYPE_NAME'
42742: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42743: l_component_type
42744: ,l_component_code
42772: --
42773: --
42774: ------------------------------------------------------------------------------------------------
42775: -- 4219869 Business Flow
42776: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42777: -- Prior Entry. Currently, the following code is always generated.
42778: ------------------------------------------------------------------------------------------------
42779: -- No ValidateCurrentLine for business flow method of Prior Entry
42780:
42781: ------------------------------------------------------------------------------------
42782: -- 4219869 Business Flow
42783: -- Populated credit and debit amounts -- Need to generate this within IF
42784: ------------------------------------------------------------------------------------
42785: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42786:
42787: ----------------------------------------------------------------------------------
42788: -- 4219869 Business Flow
42789: -- Update journal entry status -- Need to generate this within IF
42813: -- To allow MPA report to determine if it should generate report process
42814: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42815: ------------------------------------------------------------------------------------------
42816:
42817: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42818: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42819:
42820: --
42821: -- Update the line information that should be overwritten
42814: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42815: ------------------------------------------------------------------------------------------
42816:
42817: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42818: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42819:
42820: --
42821: -- Update the line information that should be overwritten
42822: --
42819:
42820: --
42821: -- Update the line information that should be overwritten
42822: --
42823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42824: p_header_num => 1);
42825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42826:
42827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42821: -- Update the line information that should be overwritten
42822: --
42823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42824: p_header_num => 1);
42825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42826:
42827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42828:
42829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42823: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42824: p_header_num => 1);
42825: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42826:
42827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42828:
42829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42830: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42831: END IF;
42826:
42827: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42828:
42829: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42830: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42831: END IF;
42832:
42833: --
42834: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42833: --
42834: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42835: --
42836: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42837: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42838: ELSE
42839: ---------------------------------------------------------------------------------------------------
42840: -- 4262811a Switch Sign
42841: ---------------------------------------------------------------------------------------------------
42838: ELSE
42839: ---------------------------------------------------------------------------------------------------
42840: -- 4262811a Switch Sign
42841: ---------------------------------------------------------------------------------------------------
42842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42839: ---------------------------------------------------------------------------------------------------
42840: -- 4262811a Switch Sign
42841: ---------------------------------------------------------------------------------------------------
42842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42840: -- 4262811a Switch Sign
42841: ---------------------------------------------------------------------------------------------------
42842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42841: ---------------------------------------------------------------------------------------------------
42842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42842: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42843: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42850:
42844: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42850:
42851: END IF;
42852:
42845: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42846: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42847: -- 5132302
42848: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42849: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42850:
42851: END IF;
42852:
42853: -- 4955764
42850:
42851: END IF;
42852:
42853: -- 4955764
42854: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42856:
42857:
42858: XLA_AE_LINES_PKG.ValidateCurrentLine;
42854: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42856:
42857:
42858: XLA_AE_LINES_PKG.ValidateCurrentLine;
42859: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42860:
42861: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42862: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42855: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42856:
42857:
42858: XLA_AE_LINES_PKG.ValidateCurrentLine;
42859: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42860:
42861: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42862: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42863: ,p_balance_type_code => l_balance_type_code);
43000: --
43001: -- bulk performance
43002: --
43003: l_balance_type_code VARCHAR2(1);
43004: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43005: l_log_module VARCHAR2(240);
43006:
43007: --
43008: -- Upgrade strategy
43073: ') = 'REQ_CANCELLED'
43074: THEN
43075:
43076: --
43077: XLA_AE_LINES_PKG.SetNewLine;
43078:
43079: p_balance_type_code := l_balance_type_code;
43080: -- set the flag so later we will know whether the gain loss line needs to be created
43081:
43085:
43086: --
43087: -- bulk performance
43088: --
43089: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43090: p_header_num => 0); -- 4262811
43091: --
43092: -- set accounting line options
43093: --
43090: p_header_num => 0); -- 4262811
43091: --
43092: -- set accounting line options
43093: --
43094: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43095: p_natural_side_code => 'D'
43096: , p_gain_or_loss_flag => 'N'
43097: , p_gl_transfer_mode_code => 'S'
43098: , p_acct_entry_type_code => 'A'
43104: --
43105: --
43106: -- set accounting line type info
43107: --
43108: xla_ae_lines_pkg.SetAcctLineType
43109: (p_component_type => l_component_type
43110: ,p_event_type_code => l_event_type_code
43111: ,p_line_definition_owner_code => l_line_definition_owner_code
43112: ,p_line_definition_code => l_line_definition_code
43118: ,p_event_class_code => l_event_class_code);
43119: --
43120: -- set accounting class
43121: --
43122: xla_ae_lines_pkg.SetAcctClass(
43123: p_accounting_class_code => 'REQUISITION'
43124: , p_ae_header_id => l_ae_header_id
43125: );
43126:
43126:
43127: --
43128: -- set rounding class
43129: --
43130: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43131: 'REQUISITION';
43132:
43133: --
43134: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43130: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43131: 'REQUISITION';
43132:
43133: --
43134: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43135: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43136: --
43137: -- bulk performance
43138: --
43131: 'REQUISITION';
43132:
43133: --
43134: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43135: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43136: --
43137: -- bulk performance
43138: --
43139: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43135: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43136: --
43137: -- bulk performance
43138: --
43139: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43140:
43141: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43142: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43143:
43137: -- bulk performance
43138: --
43139: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43140:
43141: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43142: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43143:
43144: -- 4955764
43145: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43141: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43142: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43143:
43144: -- 4955764
43145: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43146: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43147:
43148: -- 4458381 Public Sector Enh
43149:
43225: l_rec_acct_attrs.array_num_value(30) := p_source_46;
43226: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
43227: l_rec_acct_attrs.array_num_value(31) := p_source_46;
43228:
43229: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43230: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43231:
43232: ---------------------------------------------------------------------------------------------------------------
43233: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43226: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
43227: l_rec_acct_attrs.array_num_value(31) := p_source_46;
43228:
43229: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43230: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43231:
43232: ---------------------------------------------------------------------------------------------------------------
43233: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43234: ---------------------------------------------------------------------------------------------------------------
43229: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43230: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43231:
43232: ---------------------------------------------------------------------------------------------------------------
43233: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43234: ---------------------------------------------------------------------------------------------------------------
43235: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43236:
43237: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43231:
43232: ---------------------------------------------------------------------------------------------------------------
43233: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43234: ---------------------------------------------------------------------------------------------------------------
43235: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43236:
43237: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43238: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43239:
43233: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43234: ---------------------------------------------------------------------------------------------------------------
43235: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43236:
43237: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43238: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43239:
43240: IF xla_accounting_cache_pkg.GetValueChar
43241: (p_source_code => 'LEDGER_CATEGORY_CODE'
43234: ---------------------------------------------------------------------------------------------------------------
43235: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43236:
43237: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43238: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43239:
43240: IF xla_accounting_cache_pkg.GetValueChar
43241: (p_source_code => 'LEDGER_CATEGORY_CODE'
43242: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43245: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43246: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43247: )
43248: THEN
43249: xla_ae_lines_pkg.BflowUpgEntry
43250: (p_business_method_code => l_bflow_method_code
43251: ,p_business_class_code => l_bflow_class_code
43252: ,p_balance_type => l_balance_type_code);
43253: ELSE
43251: ,p_business_class_code => l_bflow_class_code
43252: ,p_balance_type => l_balance_type_code);
43253: ELSE
43254: NULL;
43255: XLA_AE_LINES_PKG.business_flow_validation(
43256: p_business_method_code => l_bflow_method_code
43257: ,p_business_class_code => l_bflow_class_code
43258: ,p_inherit_description_flag => l_inherit_desc_flag);
43259: END IF;
43298: xla_accounting_err_pkg.build_message
43299: (p_appli_s_name => 'XLA'
43300: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43301: ,p_token_1 => 'LINE_NUMBER'
43302: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43303: ,p_token_2 => 'LINE_TYPE_NAME'
43304: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43305: l_component_type
43306: ,l_component_code
43334: --
43335: --
43336: ------------------------------------------------------------------------------------------------
43337: -- 4219869 Business Flow
43338: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43339: -- Prior Entry. Currently, the following code is always generated.
43340: ------------------------------------------------------------------------------------------------
43341: -- No ValidateCurrentLine for business flow method of Prior Entry
43342:
43343: ------------------------------------------------------------------------------------
43344: -- 4219869 Business Flow
43345: -- Populated credit and debit amounts -- Need to generate this within IF
43346: ------------------------------------------------------------------------------------
43347: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43348:
43349: ----------------------------------------------------------------------------------
43350: -- 4219869 Business Flow
43351: -- Update journal entry status -- Need to generate this within IF
43375: -- To allow MPA report to determine if it should generate report process
43376: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43377: ------------------------------------------------------------------------------------------
43378:
43379: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43380: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43381:
43382: --
43383: -- Update the line information that should be overwritten
43376: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43377: ------------------------------------------------------------------------------------------
43378:
43379: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43380: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43381:
43382: --
43383: -- Update the line information that should be overwritten
43384: --
43381:
43382: --
43383: -- Update the line information that should be overwritten
43384: --
43385: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43386: p_header_num => 1);
43387: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43388:
43389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43383: -- Update the line information that should be overwritten
43384: --
43385: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43386: p_header_num => 1);
43387: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43388:
43389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43390:
43391: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43385: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43386: p_header_num => 1);
43387: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43388:
43389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43390:
43391: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43392: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43393: END IF;
43388:
43389: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43390:
43391: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43392: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43393: END IF;
43394:
43395: --
43396: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43395: --
43396: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43397: --
43398: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43399: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43400: ELSE
43401: ---------------------------------------------------------------------------------------------------
43402: -- 4262811a Switch Sign
43403: ---------------------------------------------------------------------------------------------------
43400: ELSE
43401: ---------------------------------------------------------------------------------------------------
43402: -- 4262811a Switch Sign
43403: ---------------------------------------------------------------------------------------------------
43404: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43405: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43401: ---------------------------------------------------------------------------------------------------
43402: -- 4262811a Switch Sign
43403: ---------------------------------------------------------------------------------------------------
43404: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43405: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43402: -- 4262811a Switch Sign
43403: ---------------------------------------------------------------------------------------------------
43404: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43405: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43410: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43403: ---------------------------------------------------------------------------------------------------
43404: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43405: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43410: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43411: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43404: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43405: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43410: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43411: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43412:
43406: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43410: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43411: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43412:
43413: END IF;
43414:
43407: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43408: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43409: -- 5132302
43410: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43411: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43412:
43413: END IF;
43414:
43415: -- 4955764
43412:
43413: END IF;
43414:
43415: -- 4955764
43416: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43417: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43418:
43419:
43420: XLA_AE_LINES_PKG.ValidateCurrentLine;
43416: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43417: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43418:
43419:
43420: XLA_AE_LINES_PKG.ValidateCurrentLine;
43421: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43422:
43423: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43424: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43417: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43418:
43419:
43420: XLA_AE_LINES_PKG.ValidateCurrentLine;
43421: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43422:
43423: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43424: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43425: ,p_balance_type_code => l_balance_type_code);
43568: --
43569: -- bulk performance
43570: --
43571: l_balance_type_code VARCHAR2(1);
43572: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43573: l_log_module VARCHAR2(240);
43574:
43575: --
43576: -- Upgrade strategy
43643: ') = 'B_REQ'
43644: THEN
43645:
43646: --
43647: XLA_AE_LINES_PKG.SetNewLine;
43648:
43649: p_balance_type_code := l_balance_type_code;
43650: -- set the flag so later we will know whether the gain loss line needs to be created
43651:
43655:
43656: --
43657: -- bulk performance
43658: --
43659: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43660: p_header_num => 0); -- 4262811
43661: --
43662: -- set accounting line options
43663: --
43660: p_header_num => 0); -- 4262811
43661: --
43662: -- set accounting line options
43663: --
43664: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43665: p_natural_side_code => 'C'
43666: , p_gain_or_loss_flag => 'N'
43667: , p_gl_transfer_mode_code => 'S'
43668: , p_acct_entry_type_code => 'A'
43674: --
43675: --
43676: -- set accounting line type info
43677: --
43678: xla_ae_lines_pkg.SetAcctLineType
43679: (p_component_type => l_component_type
43680: ,p_event_type_code => l_event_type_code
43681: ,p_line_definition_owner_code => l_line_definition_owner_code
43682: ,p_line_definition_code => l_line_definition_code
43688: ,p_event_class_code => l_event_class_code);
43689: --
43690: -- set accounting class
43691: --
43692: xla_ae_lines_pkg.SetAcctClass(
43693: p_accounting_class_code => 'PURCHASE_ORDER'
43694: , p_ae_header_id => l_ae_header_id
43695: );
43696:
43696:
43697: --
43698: -- set rounding class
43699: --
43700: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43701: 'PURCHASE_ORDER';
43702:
43703: --
43704: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43700: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43701: 'PURCHASE_ORDER';
43702:
43703: --
43704: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43705: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43706: --
43707: -- bulk performance
43708: --
43701: 'PURCHASE_ORDER';
43702:
43703: --
43704: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43705: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43706: --
43707: -- bulk performance
43708: --
43709: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43705: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43706: --
43707: -- bulk performance
43708: --
43709: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43710:
43711: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43712: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43713:
43707: -- bulk performance
43708: --
43709: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43710:
43711: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43712: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43713:
43714: -- 4955764
43715: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43711: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43712: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43713:
43714: -- 4955764
43715: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43716: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43717:
43718: -- 4458381 Public Sector Enh
43719:
43795: l_rec_acct_attrs.array_num_value(30) := p_source_32;
43796: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
43797: l_rec_acct_attrs.array_num_value(31) := p_source_32;
43798:
43799: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43800: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43801:
43802: ---------------------------------------------------------------------------------------------------------------
43803: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43796: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
43797: l_rec_acct_attrs.array_num_value(31) := p_source_32;
43798:
43799: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43800: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43801:
43802: ---------------------------------------------------------------------------------------------------------------
43803: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43804: ---------------------------------------------------------------------------------------------------------------
43799: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43800: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43801:
43802: ---------------------------------------------------------------------------------------------------------------
43803: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43804: ---------------------------------------------------------------------------------------------------------------
43805: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43806:
43807: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43801:
43802: ---------------------------------------------------------------------------------------------------------------
43803: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43804: ---------------------------------------------------------------------------------------------------------------
43805: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43806:
43807: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43808: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43809:
43803: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43804: ---------------------------------------------------------------------------------------------------------------
43805: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43806:
43807: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43808: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43809:
43810: IF xla_accounting_cache_pkg.GetValueChar
43811: (p_source_code => 'LEDGER_CATEGORY_CODE'
43804: ---------------------------------------------------------------------------------------------------------------
43805: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43806:
43807: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43808: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43809:
43810: IF xla_accounting_cache_pkg.GetValueChar
43811: (p_source_code => 'LEDGER_CATEGORY_CODE'
43812: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43815: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43816: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43817: )
43818: THEN
43819: xla_ae_lines_pkg.BflowUpgEntry
43820: (p_business_method_code => l_bflow_method_code
43821: ,p_business_class_code => l_bflow_class_code
43822: ,p_balance_type => l_balance_type_code);
43823: ELSE
43821: ,p_business_class_code => l_bflow_class_code
43822: ,p_balance_type => l_balance_type_code);
43823: ELSE
43824: NULL;
43825: XLA_AE_LINES_PKG.business_flow_validation(
43826: p_business_method_code => l_bflow_method_code
43827: ,p_business_class_code => l_bflow_class_code
43828: ,p_inherit_description_flag => l_inherit_desc_flag);
43829: END IF;
43868: xla_accounting_err_pkg.build_message
43869: (p_appli_s_name => 'XLA'
43870: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43871: ,p_token_1 => 'LINE_NUMBER'
43872: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43873: ,p_token_2 => 'LINE_TYPE_NAME'
43874: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43875: l_component_type
43876: ,l_component_code
43904: --
43905: --
43906: ------------------------------------------------------------------------------------------------
43907: -- 4219869 Business Flow
43908: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43909: -- Prior Entry. Currently, the following code is always generated.
43910: ------------------------------------------------------------------------------------------------
43911: -- No ValidateCurrentLine for business flow method of Prior Entry
43912:
43913: ------------------------------------------------------------------------------------
43914: -- 4219869 Business Flow
43915: -- Populated credit and debit amounts -- Need to generate this within IF
43916: ------------------------------------------------------------------------------------
43917: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43918:
43919: ----------------------------------------------------------------------------------
43920: -- 4219869 Business Flow
43921: -- Update journal entry status -- Need to generate this within IF
43945: -- To allow MPA report to determine if it should generate report process
43946: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43947: ------------------------------------------------------------------------------------------
43948:
43949: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43950: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43951:
43952: --
43953: -- Update the line information that should be overwritten
43946: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43947: ------------------------------------------------------------------------------------------
43948:
43949: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43950: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43951:
43952: --
43953: -- Update the line information that should be overwritten
43954: --
43951:
43952: --
43953: -- Update the line information that should be overwritten
43954: --
43955: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43956: p_header_num => 1);
43957: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43958:
43959: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43953: -- Update the line information that should be overwritten
43954: --
43955: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43956: p_header_num => 1);
43957: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43958:
43959: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43960:
43961: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43955: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43956: p_header_num => 1);
43957: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43958:
43959: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43960:
43961: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43962: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43963: END IF;
43958:
43959: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43960:
43961: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43962: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43963: END IF;
43964:
43965: --
43966: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43965: --
43966: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43967: --
43968: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43969: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43970: ELSE
43971: ---------------------------------------------------------------------------------------------------
43972: -- 4262811a Switch Sign
43973: ---------------------------------------------------------------------------------------------------
43970: ELSE
43971: ---------------------------------------------------------------------------------------------------
43972: -- 4262811a Switch Sign
43973: ---------------------------------------------------------------------------------------------------
43974: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43975: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43971: ---------------------------------------------------------------------------------------------------
43972: -- 4262811a Switch Sign
43973: ---------------------------------------------------------------------------------------------------
43974: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43975: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43972: -- 4262811a Switch Sign
43973: ---------------------------------------------------------------------------------------------------
43974: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43975: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43980: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43973: ---------------------------------------------------------------------------------------------------
43974: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43975: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43980: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43974: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43975: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43980: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43982:
43976: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43980: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43982:
43983: END IF;
43984:
43977: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43978: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43979: -- 5132302
43980: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43981: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43982:
43983: END IF;
43984:
43985: -- 4955764
43982:
43983: END IF;
43984:
43985: -- 4955764
43986: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43987: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43988:
43989:
43990: XLA_AE_LINES_PKG.ValidateCurrentLine;
43986: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43987: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43988:
43989:
43990: XLA_AE_LINES_PKG.ValidateCurrentLine;
43991: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43992:
43993: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43994: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43987: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43988:
43989:
43990: XLA_AE_LINES_PKG.ValidateCurrentLine;
43991: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43992:
43993: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43994: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43995: ,p_balance_type_code => l_balance_type_code);
44138: --
44139: -- bulk performance
44140: --
44141: l_balance_type_code VARCHAR2(1);
44142: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44143: l_log_module VARCHAR2(240);
44144:
44145: --
44146: -- Upgrade strategy
44213: ') = 'B_REQ'
44214: THEN
44215:
44216: --
44217: XLA_AE_LINES_PKG.SetNewLine;
44218:
44219: p_balance_type_code := l_balance_type_code;
44220: -- set the flag so later we will know whether the gain loss line needs to be created
44221:
44225:
44226: --
44227: -- bulk performance
44228: --
44229: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44230: p_header_num => 0); -- 4262811
44231: --
44232: -- set accounting line options
44233: --
44230: p_header_num => 0); -- 4262811
44231: --
44232: -- set accounting line options
44233: --
44234: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44235: p_natural_side_code => 'D'
44236: , p_gain_or_loss_flag => 'N'
44237: , p_gl_transfer_mode_code => 'S'
44238: , p_acct_entry_type_code => 'A'
44244: --
44245: --
44246: -- set accounting line type info
44247: --
44248: xla_ae_lines_pkg.SetAcctLineType
44249: (p_component_type => l_component_type
44250: ,p_event_type_code => l_event_type_code
44251: ,p_line_definition_owner_code => l_line_definition_owner_code
44252: ,p_line_definition_code => l_line_definition_code
44258: ,p_event_class_code => l_event_class_code);
44259: --
44260: -- set accounting class
44261: --
44262: xla_ae_lines_pkg.SetAcctClass(
44263: p_accounting_class_code => 'PURCHASE_ORDER'
44264: , p_ae_header_id => l_ae_header_id
44265: );
44266:
44266:
44267: --
44268: -- set rounding class
44269: --
44270: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44271: 'PURCHASE_ORDER';
44272:
44273: --
44274: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44270: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44271: 'PURCHASE_ORDER';
44272:
44273: --
44274: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44275: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44276: --
44277: -- bulk performance
44278: --
44271: 'PURCHASE_ORDER';
44272:
44273: --
44274: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44275: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44276: --
44277: -- bulk performance
44278: --
44279: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44275: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44276: --
44277: -- bulk performance
44278: --
44279: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44280:
44281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44282: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44283:
44277: -- bulk performance
44278: --
44279: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44280:
44281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44282: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44283:
44284: -- 4955764
44285: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44281: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44282: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44283:
44284: -- 4955764
44285: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44286: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44287:
44288: -- 4458381 Public Sector Enh
44289:
44365: l_rec_acct_attrs.array_num_value(30) := p_source_32;
44366: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
44367: l_rec_acct_attrs.array_num_value(31) := p_source_32;
44368:
44369: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44370: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44371:
44372: ---------------------------------------------------------------------------------------------------------------
44373: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44366: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
44367: l_rec_acct_attrs.array_num_value(31) := p_source_32;
44368:
44369: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44370: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44371:
44372: ---------------------------------------------------------------------------------------------------------------
44373: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44374: ---------------------------------------------------------------------------------------------------------------
44369: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44370: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44371:
44372: ---------------------------------------------------------------------------------------------------------------
44373: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44374: ---------------------------------------------------------------------------------------------------------------
44375: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44376:
44377: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44371:
44372: ---------------------------------------------------------------------------------------------------------------
44373: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44374: ---------------------------------------------------------------------------------------------------------------
44375: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44376:
44377: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44378: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44379:
44373: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44374: ---------------------------------------------------------------------------------------------------------------
44375: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44376:
44377: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44378: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44379:
44380: IF xla_accounting_cache_pkg.GetValueChar
44381: (p_source_code => 'LEDGER_CATEGORY_CODE'
44374: ---------------------------------------------------------------------------------------------------------------
44375: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44376:
44377: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44378: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44379:
44380: IF xla_accounting_cache_pkg.GetValueChar
44381: (p_source_code => 'LEDGER_CATEGORY_CODE'
44382: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44385: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44386: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44387: )
44388: THEN
44389: xla_ae_lines_pkg.BflowUpgEntry
44390: (p_business_method_code => l_bflow_method_code
44391: ,p_business_class_code => l_bflow_class_code
44392: ,p_balance_type => l_balance_type_code);
44393: ELSE
44391: ,p_business_class_code => l_bflow_class_code
44392: ,p_balance_type => l_balance_type_code);
44393: ELSE
44394: NULL;
44395: XLA_AE_LINES_PKG.business_flow_validation(
44396: p_business_method_code => l_bflow_method_code
44397: ,p_business_class_code => l_bflow_class_code
44398: ,p_inherit_description_flag => l_inherit_desc_flag);
44399: END IF;
44438: xla_accounting_err_pkg.build_message
44439: (p_appli_s_name => 'XLA'
44440: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44441: ,p_token_1 => 'LINE_NUMBER'
44442: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44443: ,p_token_2 => 'LINE_TYPE_NAME'
44444: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44445: l_component_type
44446: ,l_component_code
44474: --
44475: --
44476: ------------------------------------------------------------------------------------------------
44477: -- 4219869 Business Flow
44478: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44479: -- Prior Entry. Currently, the following code is always generated.
44480: ------------------------------------------------------------------------------------------------
44481: -- No ValidateCurrentLine for business flow method of Prior Entry
44482:
44483: ------------------------------------------------------------------------------------
44484: -- 4219869 Business Flow
44485: -- Populated credit and debit amounts -- Need to generate this within IF
44486: ------------------------------------------------------------------------------------
44487: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44488:
44489: ----------------------------------------------------------------------------------
44490: -- 4219869 Business Flow
44491: -- Update journal entry status -- Need to generate this within IF
44515: -- To allow MPA report to determine if it should generate report process
44516: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44517: ------------------------------------------------------------------------------------------
44518:
44519: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44520: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44521:
44522: --
44523: -- Update the line information that should be overwritten
44516: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44517: ------------------------------------------------------------------------------------------
44518:
44519: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44520: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44521:
44522: --
44523: -- Update the line information that should be overwritten
44524: --
44521:
44522: --
44523: -- Update the line information that should be overwritten
44524: --
44525: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44526: p_header_num => 1);
44527: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44528:
44529: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44523: -- Update the line information that should be overwritten
44524: --
44525: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44526: p_header_num => 1);
44527: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44528:
44529: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44530:
44531: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44525: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44526: p_header_num => 1);
44527: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44528:
44529: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44530:
44531: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44532: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44533: END IF;
44528:
44529: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44530:
44531: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44532: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44533: END IF;
44534:
44535: --
44536: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44535: --
44536: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44537: --
44538: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44539: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44540: ELSE
44541: ---------------------------------------------------------------------------------------------------
44542: -- 4262811a Switch Sign
44543: ---------------------------------------------------------------------------------------------------
44540: ELSE
44541: ---------------------------------------------------------------------------------------------------
44542: -- 4262811a Switch Sign
44543: ---------------------------------------------------------------------------------------------------
44544: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44541: ---------------------------------------------------------------------------------------------------
44542: -- 4262811a Switch Sign
44543: ---------------------------------------------------------------------------------------------------
44544: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44542: -- 4262811a Switch Sign
44543: ---------------------------------------------------------------------------------------------------
44544: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44550: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44543: ---------------------------------------------------------------------------------------------------
44544: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44550: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44551: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44544: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44550: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44551: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44552:
44546: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44550: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44551: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44552:
44553: END IF;
44554:
44547: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549: -- 5132302
44550: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44551: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44552:
44553: END IF;
44554:
44555: -- 4955764
44552:
44553: END IF;
44554:
44555: -- 4955764
44556: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44557: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44558:
44559:
44560: XLA_AE_LINES_PKG.ValidateCurrentLine;
44556: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44557: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44558:
44559:
44560: XLA_AE_LINES_PKG.ValidateCurrentLine;
44561: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44562:
44563: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44564: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44557: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44558:
44559:
44560: XLA_AE_LINES_PKG.ValidateCurrentLine;
44561: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44562:
44563: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44564: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44565: ,p_balance_type_code => l_balance_type_code);
44716: --
44717: -- bulk performance
44718: --
44719: l_balance_type_code VARCHAR2(1);
44720: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44721: l_log_module VARCHAR2(240);
44722:
44723: --
44724: -- Upgrade strategy
44800: ') = 'M'
44801: THEN
44802:
44803: --
44804: XLA_AE_LINES_PKG.SetNewLine;
44805:
44806: p_balance_type_code := l_balance_type_code;
44807: -- set the flag so later we will know whether the gain loss line needs to be created
44808:
44812:
44813: --
44814: -- bulk performance
44815: --
44816: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44817: p_header_num => 0); -- 4262811
44818: --
44819: -- set accounting line options
44820: --
44817: p_header_num => 0); -- 4262811
44818: --
44819: -- set accounting line options
44820: --
44821: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44822: p_natural_side_code => 'C'
44823: , p_gain_or_loss_flag => 'N'
44824: , p_gl_transfer_mode_code => 'S'
44825: , p_acct_entry_type_code => 'A'
44831: --
44832: --
44833: -- set accounting line type info
44834: --
44835: xla_ae_lines_pkg.SetAcctLineType
44836: (p_component_type => l_component_type
44837: ,p_event_type_code => l_event_type_code
44838: ,p_line_definition_owner_code => l_line_definition_owner_code
44839: ,p_line_definition_code => l_line_definition_code
44845: ,p_event_class_code => l_event_class_code);
44846: --
44847: -- set accounting class
44848: --
44849: xla_ae_lines_pkg.SetAcctClass(
44850: p_accounting_class_code => 'REQUISITION'
44851: , p_ae_header_id => l_ae_header_id
44852: );
44853:
44853:
44854: --
44855: -- set rounding class
44856: --
44857: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44858: 'REQUISITION';
44859:
44860: --
44861: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44857: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44858: 'REQUISITION';
44859:
44860: --
44861: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44862: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44863: --
44864: -- bulk performance
44865: --
44858: 'REQUISITION';
44859:
44860: --
44861: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44862: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44863: --
44864: -- bulk performance
44865: --
44866: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44862: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44863: --
44864: -- bulk performance
44865: --
44866: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44867:
44868: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44869: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44870:
44864: -- bulk performance
44865: --
44866: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44867:
44868: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44869: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44870:
44871: -- 4955764
44872: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44868: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44869: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44870:
44871: -- 4955764
44872: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44873: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44874:
44875: -- 4458381 Public Sector Enh
44876:
44958: l_rec_acct_attrs.array_num_value(33) := p_source_46;
44959: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
44960: l_rec_acct_attrs.array_num_value(34) := p_source_46;
44961:
44962: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44963: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44964:
44965: ---------------------------------------------------------------------------------------------------------------
44966: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44959: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
44960: l_rec_acct_attrs.array_num_value(34) := p_source_46;
44961:
44962: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44963: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44964:
44965: ---------------------------------------------------------------------------------------------------------------
44966: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44967: ---------------------------------------------------------------------------------------------------------------
44962: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44963: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44964:
44965: ---------------------------------------------------------------------------------------------------------------
44966: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44967: ---------------------------------------------------------------------------------------------------------------
44968: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44969:
44970: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44964:
44965: ---------------------------------------------------------------------------------------------------------------
44966: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44967: ---------------------------------------------------------------------------------------------------------------
44968: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44969:
44970: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44971: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44972:
44966: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44967: ---------------------------------------------------------------------------------------------------------------
44968: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44969:
44970: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44971: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44972:
44973: IF xla_accounting_cache_pkg.GetValueChar
44974: (p_source_code => 'LEDGER_CATEGORY_CODE'
44967: ---------------------------------------------------------------------------------------------------------------
44968: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44969:
44970: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44971: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44972:
44973: IF xla_accounting_cache_pkg.GetValueChar
44974: (p_source_code => 'LEDGER_CATEGORY_CODE'
44975: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44978: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44979: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44980: )
44981: THEN
44982: xla_ae_lines_pkg.BflowUpgEntry
44983: (p_business_method_code => l_bflow_method_code
44984: ,p_business_class_code => l_bflow_class_code
44985: ,p_balance_type => l_balance_type_code);
44986: ELSE
44995: --
44996: -- call description
44997: --
44998:
44999: xla_ae_lines_pkg.SetLineDescription(
45000: p_ae_header_id => l_ae_header_id
45001: ,p_description => Description_2 (
45002: p_application_id => p_application_id
45003: , p_ae_header_id => l_ae_header_id
45028: , x_value_type_code => l_adr_value_type_code
45029: , p_side => 'NA'
45030: );
45031:
45032: xla_ae_lines_pkg.set_ccid(
45033: p_code_combination_id => l_ccid
45034: , p_value_type_code => l_adr_value_type_code
45035: , p_transaction_coa_id => l_adr_transaction_coa_id
45036: , p_accounting_coa_id => l_adr_accounting_coa_id
45061: );
45062:
45063: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
45064:
45065: xla_ae_lines_pkg.set_segment(
45066: p_to_segment_code => 'GL_ACCOUNT'
45067: , p_segment_value => l_segment
45068: , p_from_segment_code => l_adr_value_segment_code
45069: , p_from_combination_id => l_adr_value_combination_id
45105: xla_accounting_err_pkg.build_message
45106: (p_appli_s_name => 'XLA'
45107: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45108: ,p_token_1 => 'LINE_NUMBER'
45109: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45110: ,p_token_2 => 'LINE_TYPE_NAME'
45111: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45112: l_component_type
45113: ,l_component_code
45141: --
45142: --
45143: ------------------------------------------------------------------------------------------------
45144: -- 4219869 Business Flow
45145: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45146: -- Prior Entry. Currently, the following code is always generated.
45147: ------------------------------------------------------------------------------------------------
45148: XLA_AE_LINES_PKG.ValidateCurrentLine;
45149:
45144: -- 4219869 Business Flow
45145: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45146: -- Prior Entry. Currently, the following code is always generated.
45147: ------------------------------------------------------------------------------------------------
45148: XLA_AE_LINES_PKG.ValidateCurrentLine;
45149:
45150: ------------------------------------------------------------------------------------
45151: -- 4219869 Business Flow
45152: -- Populated credit and debit amounts -- Need to generate this within IF
45150: ------------------------------------------------------------------------------------
45151: -- 4219869 Business Flow
45152: -- Populated credit and debit amounts -- Need to generate this within IF
45153: ------------------------------------------------------------------------------------
45154: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45155:
45156: ----------------------------------------------------------------------------------
45157: -- 4219869 Business Flow
45158: -- Update journal entry status -- Need to generate this within IF
45182: -- To allow MPA report to determine if it should generate report process
45183: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45184: ------------------------------------------------------------------------------------------
45185:
45186: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45187: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45188:
45189: --
45190: -- Update the line information that should be overwritten
45183: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45184: ------------------------------------------------------------------------------------------
45185:
45186: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45187: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45188:
45189: --
45190: -- Update the line information that should be overwritten
45191: --
45188:
45189: --
45190: -- Update the line information that should be overwritten
45191: --
45192: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45193: p_header_num => 1);
45194: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45195:
45196: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45190: -- Update the line information that should be overwritten
45191: --
45192: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45193: p_header_num => 1);
45194: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45195:
45196: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45197:
45198: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45192: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45193: p_header_num => 1);
45194: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45195:
45196: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45197:
45198: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45199: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45200: END IF;
45195:
45196: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45197:
45198: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45199: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45200: END IF;
45201:
45202: --
45203: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45202: --
45203: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45204: --
45205: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45206: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45207: ELSE
45208: ---------------------------------------------------------------------------------------------------
45209: -- 4262811a Switch Sign
45210: ---------------------------------------------------------------------------------------------------
45207: ELSE
45208: ---------------------------------------------------------------------------------------------------
45209: -- 4262811a Switch Sign
45210: ---------------------------------------------------------------------------------------------------
45211: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45208: ---------------------------------------------------------------------------------------------------
45209: -- 4262811a Switch Sign
45210: ---------------------------------------------------------------------------------------------------
45211: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45209: -- 4262811a Switch Sign
45210: ---------------------------------------------------------------------------------------------------
45211: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45210: ---------------------------------------------------------------------------------------------------
45211: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45218: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45211: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45212: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45218: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45219:
45213: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45218: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45219:
45220: END IF;
45221:
45214: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45215: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45216: -- 5132302
45217: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45218: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45219:
45220: END IF;
45221:
45222: -- 4955764
45219:
45220: END IF;
45221:
45222: -- 4955764
45223: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45224: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45225:
45226:
45227: XLA_AE_LINES_PKG.ValidateCurrentLine;
45223: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45224: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45225:
45226:
45227: XLA_AE_LINES_PKG.ValidateCurrentLine;
45228: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45229:
45230: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45231: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45224: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45225:
45226:
45227: XLA_AE_LINES_PKG.ValidateCurrentLine;
45228: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45229:
45230: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45231: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45232: ,p_balance_type_code => l_balance_type_code);
45385: --
45386: -- bulk performance
45387: --
45388: l_balance_type_code VARCHAR2(1);
45389: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45390: l_log_module VARCHAR2(240);
45391:
45392: --
45393: -- Upgrade strategy
45469: ') = 'M'
45470: THEN
45471:
45472: --
45473: XLA_AE_LINES_PKG.SetNewLine;
45474:
45475: p_balance_type_code := l_balance_type_code;
45476: -- set the flag so later we will know whether the gain loss line needs to be created
45477:
45481:
45482: --
45483: -- bulk performance
45484: --
45485: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45486: p_header_num => 0); -- 4262811
45487: --
45488: -- set accounting line options
45489: --
45486: p_header_num => 0); -- 4262811
45487: --
45488: -- set accounting line options
45489: --
45490: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45491: p_natural_side_code => 'D'
45492: , p_gain_or_loss_flag => 'N'
45493: , p_gl_transfer_mode_code => 'S'
45494: , p_acct_entry_type_code => 'A'
45500: --
45501: --
45502: -- set accounting line type info
45503: --
45504: xla_ae_lines_pkg.SetAcctLineType
45505: (p_component_type => l_component_type
45506: ,p_event_type_code => l_event_type_code
45507: ,p_line_definition_owner_code => l_line_definition_owner_code
45508: ,p_line_definition_code => l_line_definition_code
45514: ,p_event_class_code => l_event_class_code);
45515: --
45516: -- set accounting class
45517: --
45518: xla_ae_lines_pkg.SetAcctClass(
45519: p_accounting_class_code => 'REQUISITION'
45520: , p_ae_header_id => l_ae_header_id
45521: );
45522:
45522:
45523: --
45524: -- set rounding class
45525: --
45526: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45527: 'REQUISITION';
45528:
45529: --
45530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45526: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45527: 'REQUISITION';
45528:
45529: --
45530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45532: --
45533: -- bulk performance
45534: --
45527: 'REQUISITION';
45528:
45529: --
45530: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45532: --
45533: -- bulk performance
45534: --
45535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45531: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45532: --
45533: -- bulk performance
45534: --
45535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45536:
45537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45539:
45533: -- bulk performance
45534: --
45535: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45536:
45537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45539:
45540: -- 4955764
45541: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45537: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45538: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45539:
45540: -- 4955764
45541: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45542: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45543:
45544: -- 4458381 Public Sector Enh
45545:
45627: l_rec_acct_attrs.array_num_value(33) := p_source_46;
45628: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
45629: l_rec_acct_attrs.array_num_value(34) := p_source_46;
45630:
45631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45633:
45634: ---------------------------------------------------------------------------------------------------------------
45635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45628: l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
45629: l_rec_acct_attrs.array_num_value(34) := p_source_46;
45630:
45631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45633:
45634: ---------------------------------------------------------------------------------------------------------------
45635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45636: ---------------------------------------------------------------------------------------------------------------
45631: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45632: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45633:
45634: ---------------------------------------------------------------------------------------------------------------
45635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45636: ---------------------------------------------------------------------------------------------------------------
45637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45638:
45639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45633:
45634: ---------------------------------------------------------------------------------------------------------------
45635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45636: ---------------------------------------------------------------------------------------------------------------
45637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45638:
45639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45641:
45635: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45636: ---------------------------------------------------------------------------------------------------------------
45637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45638:
45639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45641:
45642: IF xla_accounting_cache_pkg.GetValueChar
45643: (p_source_code => 'LEDGER_CATEGORY_CODE'
45636: ---------------------------------------------------------------------------------------------------------------
45637: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45638:
45639: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45640: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45641:
45642: IF xla_accounting_cache_pkg.GetValueChar
45643: (p_source_code => 'LEDGER_CATEGORY_CODE'
45644: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45647: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45648: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45649: )
45650: THEN
45651: xla_ae_lines_pkg.BflowUpgEntry
45652: (p_business_method_code => l_bflow_method_code
45653: ,p_business_class_code => l_bflow_class_code
45654: ,p_balance_type => l_balance_type_code);
45655: ELSE
45664: --
45665: -- call description
45666: --
45667:
45668: xla_ae_lines_pkg.SetLineDescription(
45669: p_ae_header_id => l_ae_header_id
45670: ,p_description => Description_2 (
45671: p_application_id => p_application_id
45672: , p_ae_header_id => l_ae_header_id
45697: , x_value_type_code => l_adr_value_type_code
45698: , p_side => 'NA'
45699: );
45700:
45701: xla_ae_lines_pkg.set_ccid(
45702: p_code_combination_id => l_ccid
45703: , p_value_type_code => l_adr_value_type_code
45704: , p_transaction_coa_id => l_adr_transaction_coa_id
45705: , p_accounting_coa_id => l_adr_accounting_coa_id
45731: );
45732:
45733: IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
45734:
45735: xla_ae_lines_pkg.set_segment(
45736: p_to_segment_code => 'GL_ACCOUNT'
45737: , p_segment_value => l_segment
45738: , p_from_segment_code => l_adr_value_segment_code
45739: , p_from_combination_id => l_adr_value_combination_id
45775: xla_accounting_err_pkg.build_message
45776: (p_appli_s_name => 'XLA'
45777: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45778: ,p_token_1 => 'LINE_NUMBER'
45779: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45780: ,p_token_2 => 'LINE_TYPE_NAME'
45781: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45782: l_component_type
45783: ,l_component_code
45811: --
45812: --
45813: ------------------------------------------------------------------------------------------------
45814: -- 4219869 Business Flow
45815: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45816: -- Prior Entry. Currently, the following code is always generated.
45817: ------------------------------------------------------------------------------------------------
45818: XLA_AE_LINES_PKG.ValidateCurrentLine;
45819:
45814: -- 4219869 Business Flow
45815: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45816: -- Prior Entry. Currently, the following code is always generated.
45817: ------------------------------------------------------------------------------------------------
45818: XLA_AE_LINES_PKG.ValidateCurrentLine;
45819:
45820: ------------------------------------------------------------------------------------
45821: -- 4219869 Business Flow
45822: -- Populated credit and debit amounts -- Need to generate this within IF
45820: ------------------------------------------------------------------------------------
45821: -- 4219869 Business Flow
45822: -- Populated credit and debit amounts -- Need to generate this within IF
45823: ------------------------------------------------------------------------------------
45824: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45825:
45826: ----------------------------------------------------------------------------------
45827: -- 4219869 Business Flow
45828: -- Update journal entry status -- Need to generate this within IF
45852: -- To allow MPA report to determine if it should generate report process
45853: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45854: ------------------------------------------------------------------------------------------
45855:
45856: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45857: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45858:
45859: --
45860: -- Update the line information that should be overwritten
45853: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45854: ------------------------------------------------------------------------------------------
45855:
45856: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45857: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45858:
45859: --
45860: -- Update the line information that should be overwritten
45861: --
45858:
45859: --
45860: -- Update the line information that should be overwritten
45861: --
45862: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45863: p_header_num => 1);
45864: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45865:
45866: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45860: -- Update the line information that should be overwritten
45861: --
45862: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45863: p_header_num => 1);
45864: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45865:
45866: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45867:
45868: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45862: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45863: p_header_num => 1);
45864: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45865:
45866: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45867:
45868: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45869: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45870: END IF;
45865:
45866: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45867:
45868: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45869: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45870: END IF;
45871:
45872: --
45873: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45872: --
45873: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45874: --
45875: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45876: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45877: ELSE
45878: ---------------------------------------------------------------------------------------------------
45879: -- 4262811a Switch Sign
45880: ---------------------------------------------------------------------------------------------------
45877: ELSE
45878: ---------------------------------------------------------------------------------------------------
45879: -- 4262811a Switch Sign
45880: ---------------------------------------------------------------------------------------------------
45881: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45878: ---------------------------------------------------------------------------------------------------
45879: -- 4262811a Switch Sign
45880: ---------------------------------------------------------------------------------------------------
45881: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45879: -- 4262811a Switch Sign
45880: ---------------------------------------------------------------------------------------------------
45881: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45880: ---------------------------------------------------------------------------------------------------
45881: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45888: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45881: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45882: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45888: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45889:
45883: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45888: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45889:
45890: END IF;
45891:
45884: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45885: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45886: -- 5132302
45887: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45888: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45889:
45890: END IF;
45891:
45892: -- 4955764
45889:
45890: END IF;
45891:
45892: -- 4955764
45893: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45894: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45895:
45896:
45897: XLA_AE_LINES_PKG.ValidateCurrentLine;
45893: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45894: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45895:
45896:
45897: XLA_AE_LINES_PKG.ValidateCurrentLine;
45898: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45899:
45900: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45901: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45894: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45895:
45896:
45897: XLA_AE_LINES_PKG.ValidateCurrentLine;
45898: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45899:
45900: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45901: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45902: ,p_balance_type_code => l_balance_type_code);
46043: --
46044: -- bulk performance
46045: --
46046: l_balance_type_code VARCHAR2(1);
46047: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46048: l_log_module VARCHAR2(240);
46049:
46050: --
46051: -- Upgrade strategy
46148: ') = 'M'
46149: THEN
46150:
46151: --
46152: XLA_AE_LINES_PKG.SetNewLine;
46153:
46154: p_balance_type_code := l_balance_type_code;
46155: -- set the flag so later we will know whether the gain loss line needs to be created
46156:
46160:
46161: --
46162: -- bulk performance
46163: --
46164: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46165: p_header_num => 0); -- 4262811
46166: --
46167: -- set accounting line options
46168: --
46165: p_header_num => 0); -- 4262811
46166: --
46167: -- set accounting line options
46168: --
46169: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46170: p_natural_side_code => 'C'
46171: , p_gain_or_loss_flag => 'N'
46172: , p_gl_transfer_mode_code => 'S'
46173: , p_acct_entry_type_code => 'A'
46179: --
46180: --
46181: -- set accounting line type info
46182: --
46183: xla_ae_lines_pkg.SetAcctLineType
46184: (p_component_type => l_component_type
46185: ,p_event_type_code => l_event_type_code
46186: ,p_line_definition_owner_code => l_line_definition_owner_code
46187: ,p_line_definition_code => l_line_definition_code
46193: ,p_event_class_code => l_event_class_code);
46194: --
46195: -- set accounting class
46196: --
46197: xla_ae_lines_pkg.SetAcctClass(
46198: p_accounting_class_code => 'REQUISITION'
46199: , p_ae_header_id => l_ae_header_id
46200: );
46201:
46201:
46202: --
46203: -- set rounding class
46204: --
46205: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46206: 'REQUISITION';
46207:
46208: --
46209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46205: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46206: 'REQUISITION';
46207:
46208: --
46209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46211: --
46212: -- bulk performance
46213: --
46206: 'REQUISITION';
46207:
46208: --
46209: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46211: --
46212: -- bulk performance
46213: --
46214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46210: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46211: --
46212: -- bulk performance
46213: --
46214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46215:
46216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46218:
46212: -- bulk performance
46213: --
46214: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46215:
46216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46218:
46219: -- 4955764
46220: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46216: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46217: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46218:
46219: -- 4955764
46220: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46221: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46222:
46223: -- 4458381 Public Sector Enh
46224:
46300: l_rec_acct_attrs.array_num_value(30) := p_source_46;
46301: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
46302: l_rec_acct_attrs.array_num_value(31) := p_source_46;
46303:
46304: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46305: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46306:
46307: ---------------------------------------------------------------------------------------------------------------
46308: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46301: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
46302: l_rec_acct_attrs.array_num_value(31) := p_source_46;
46303:
46304: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46305: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46306:
46307: ---------------------------------------------------------------------------------------------------------------
46308: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46309: ---------------------------------------------------------------------------------------------------------------
46304: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46305: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46306:
46307: ---------------------------------------------------------------------------------------------------------------
46308: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46309: ---------------------------------------------------------------------------------------------------------------
46310: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46311:
46312: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46306:
46307: ---------------------------------------------------------------------------------------------------------------
46308: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46309: ---------------------------------------------------------------------------------------------------------------
46310: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46311:
46312: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46313: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46314:
46308: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46309: ---------------------------------------------------------------------------------------------------------------
46310: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46311:
46312: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46313: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46314:
46315: IF xla_accounting_cache_pkg.GetValueChar
46316: (p_source_code => 'LEDGER_CATEGORY_CODE'
46309: ---------------------------------------------------------------------------------------------------------------
46310: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46311:
46312: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46313: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46314:
46315: IF xla_accounting_cache_pkg.GetValueChar
46316: (p_source_code => 'LEDGER_CATEGORY_CODE'
46317: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46320: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46321: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46322: )
46323: THEN
46324: xla_ae_lines_pkg.BflowUpgEntry
46325: (p_business_method_code => l_bflow_method_code
46326: ,p_business_class_code => l_bflow_class_code
46327: ,p_balance_type => l_balance_type_code);
46328: ELSE
46326: ,p_business_class_code => l_bflow_class_code
46327: ,p_balance_type => l_balance_type_code);
46328: ELSE
46329: NULL;
46330: XLA_AE_LINES_PKG.business_flow_validation(
46331: p_business_method_code => l_bflow_method_code
46332: ,p_business_class_code => l_bflow_class_code
46333: ,p_inherit_description_flag => l_inherit_desc_flag);
46334: END IF;
46373: xla_accounting_err_pkg.build_message
46374: (p_appli_s_name => 'XLA'
46375: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46376: ,p_token_1 => 'LINE_NUMBER'
46377: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46378: ,p_token_2 => 'LINE_TYPE_NAME'
46379: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46380: l_component_type
46381: ,l_component_code
46409: --
46410: --
46411: ------------------------------------------------------------------------------------------------
46412: -- 4219869 Business Flow
46413: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46414: -- Prior Entry. Currently, the following code is always generated.
46415: ------------------------------------------------------------------------------------------------
46416: -- No ValidateCurrentLine for business flow method of Prior Entry
46417:
46418: ------------------------------------------------------------------------------------
46419: -- 4219869 Business Flow
46420: -- Populated credit and debit amounts -- Need to generate this within IF
46421: ------------------------------------------------------------------------------------
46422: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46423:
46424: ----------------------------------------------------------------------------------
46425: -- 4219869 Business Flow
46426: -- Update journal entry status -- Need to generate this within IF
46450: -- To allow MPA report to determine if it should generate report process
46451: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46452: ------------------------------------------------------------------------------------------
46453:
46454: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46455: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46456:
46457: --
46458: -- Update the line information that should be overwritten
46451: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46452: ------------------------------------------------------------------------------------------
46453:
46454: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46455: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46456:
46457: --
46458: -- Update the line information that should be overwritten
46459: --
46456:
46457: --
46458: -- Update the line information that should be overwritten
46459: --
46460: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46461: p_header_num => 1);
46462: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46463:
46464: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46458: -- Update the line information that should be overwritten
46459: --
46460: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46461: p_header_num => 1);
46462: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46463:
46464: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46465:
46466: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46460: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46461: p_header_num => 1);
46462: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46463:
46464: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46465:
46466: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46467: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46468: END IF;
46463:
46464: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46465:
46466: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46467: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46468: END IF;
46469:
46470: --
46471: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46470: --
46471: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46472: --
46473: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46474: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46475: ELSE
46476: ---------------------------------------------------------------------------------------------------
46477: -- 4262811a Switch Sign
46478: ---------------------------------------------------------------------------------------------------
46475: ELSE
46476: ---------------------------------------------------------------------------------------------------
46477: -- 4262811a Switch Sign
46478: ---------------------------------------------------------------------------------------------------
46479: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46480: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46476: ---------------------------------------------------------------------------------------------------
46477: -- 4262811a Switch Sign
46478: ---------------------------------------------------------------------------------------------------
46479: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46480: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46477: -- 4262811a Switch Sign
46478: ---------------------------------------------------------------------------------------------------
46479: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46480: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46485: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46478: ---------------------------------------------------------------------------------------------------
46479: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46480: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46485: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46486: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46479: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46480: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46485: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46486: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46487:
46481: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46485: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46486: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46487:
46488: END IF;
46489:
46482: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46483: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46484: -- 5132302
46485: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46486: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46487:
46488: END IF;
46489:
46490: -- 4955764
46487:
46488: END IF;
46489:
46490: -- 4955764
46491: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46492: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46493:
46494:
46495: XLA_AE_LINES_PKG.ValidateCurrentLine;
46491: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46492: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46493:
46494:
46495: XLA_AE_LINES_PKG.ValidateCurrentLine;
46496: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46497:
46498: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46499: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46492: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46493:
46494:
46495: XLA_AE_LINES_PKG.ValidateCurrentLine;
46496: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46497:
46498: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46499: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46500: ,p_balance_type_code => l_balance_type_code);
46641: --
46642: -- bulk performance
46643: --
46644: l_balance_type_code VARCHAR2(1);
46645: l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46646: l_log_module VARCHAR2(240);
46647:
46648: --
46649: -- Upgrade strategy
46746: ') = 'M'
46747: THEN
46748:
46749: --
46750: XLA_AE_LINES_PKG.SetNewLine;
46751:
46752: p_balance_type_code := l_balance_type_code;
46753: -- set the flag so later we will know whether the gain loss line needs to be created
46754:
46758:
46759: --
46760: -- bulk performance
46761: --
46762: XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46763: p_header_num => 0); -- 4262811
46764: --
46765: -- set accounting line options
46766: --
46763: p_header_num => 0); -- 4262811
46764: --
46765: -- set accounting line options
46766: --
46767: l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46768: p_natural_side_code => 'D'
46769: , p_gain_or_loss_flag => 'N'
46770: , p_gl_transfer_mode_code => 'S'
46771: , p_acct_entry_type_code => 'A'
46777: --
46778: --
46779: -- set accounting line type info
46780: --
46781: xla_ae_lines_pkg.SetAcctLineType
46782: (p_component_type => l_component_type
46783: ,p_event_type_code => l_event_type_code
46784: ,p_line_definition_owner_code => l_line_definition_owner_code
46785: ,p_line_definition_code => l_line_definition_code
46791: ,p_event_class_code => l_event_class_code);
46792: --
46793: -- set accounting class
46794: --
46795: xla_ae_lines_pkg.SetAcctClass(
46796: p_accounting_class_code => 'REQUISITION'
46797: , p_ae_header_id => l_ae_header_id
46798: );
46799:
46799:
46800: --
46801: -- set rounding class
46802: --
46803: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46804: 'REQUISITION';
46805:
46806: --
46807: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46803: XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46804: 'REQUISITION';
46805:
46806: --
46807: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46808: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46809: --
46810: -- bulk performance
46811: --
46804: 'REQUISITION';
46805:
46806: --
46807: xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46808: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46809: --
46810: -- bulk performance
46811: --
46812: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46808: xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46809: --
46810: -- bulk performance
46811: --
46812: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46813:
46814: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46815: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46816:
46810: -- bulk performance
46811: --
46812: XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46813:
46814: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46815: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46816:
46817: -- 4955764
46818: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46814: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46815: XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46816:
46817: -- 4955764
46818: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46819: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46820:
46821: -- 4458381 Public Sector Enh
46822:
46898: l_rec_acct_attrs.array_num_value(30) := p_source_46;
46899: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
46900: l_rec_acct_attrs.array_num_value(31) := p_source_46;
46901:
46902: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46903: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46904:
46905: ---------------------------------------------------------------------------------------------------------------
46906: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46899: l_rec_acct_attrs.array_acct_attr_code(31) := 'UPG_DR_ENC_TYPE_ID';
46900: l_rec_acct_attrs.array_num_value(31) := p_source_46;
46901:
46902: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46903: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46904:
46905: ---------------------------------------------------------------------------------------------------------------
46906: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46907: ---------------------------------------------------------------------------------------------------------------
46902: XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46903: p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46904:
46905: ---------------------------------------------------------------------------------------------------------------
46906: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46907: ---------------------------------------------------------------------------------------------------------------
46908: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46909:
46910: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46904:
46905: ---------------------------------------------------------------------------------------------------------------
46906: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46907: ---------------------------------------------------------------------------------------------------------------
46908: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46909:
46910: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46911: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46912:
46906: -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46907: ---------------------------------------------------------------------------------------------------------------
46908: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46909:
46910: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46911: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46912:
46913: IF xla_accounting_cache_pkg.GetValueChar
46914: (p_source_code => 'LEDGER_CATEGORY_CODE'
46907: ---------------------------------------------------------------------------------------------------------------
46908: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46909:
46910: l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46911: l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46912:
46913: IF xla_accounting_cache_pkg.GetValueChar
46914: (p_source_code => 'LEDGER_CATEGORY_CODE'
46915: ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46918: AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46919: (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46920: )
46921: THEN
46922: xla_ae_lines_pkg.BflowUpgEntry
46923: (p_business_method_code => l_bflow_method_code
46924: ,p_business_class_code => l_bflow_class_code
46925: ,p_balance_type => l_balance_type_code);
46926: ELSE
46924: ,p_business_class_code => l_bflow_class_code
46925: ,p_balance_type => l_balance_type_code);
46926: ELSE
46927: NULL;
46928: XLA_AE_LINES_PKG.business_flow_validation(
46929: p_business_method_code => l_bflow_method_code
46930: ,p_business_class_code => l_bflow_class_code
46931: ,p_inherit_description_flag => l_inherit_desc_flag);
46932: END IF;
46971: xla_accounting_err_pkg.build_message
46972: (p_appli_s_name => 'XLA'
46973: ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46974: ,p_token_1 => 'LINE_NUMBER'
46975: ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46976: ,p_token_2 => 'LINE_TYPE_NAME'
46977: ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46978: l_component_type
46979: ,l_component_code
47007: --
47008: --
47009: ------------------------------------------------------------------------------------------------
47010: -- 4219869 Business Flow
47011: -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47012: -- Prior Entry. Currently, the following code is always generated.
47013: ------------------------------------------------------------------------------------------------
47014: -- No ValidateCurrentLine for business flow method of Prior Entry
47015:
47016: ------------------------------------------------------------------------------------
47017: -- 4219869 Business Flow
47018: -- Populated credit and debit amounts -- Need to generate this within IF
47019: ------------------------------------------------------------------------------------
47020: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47021:
47022: ----------------------------------------------------------------------------------
47023: -- 4219869 Business Flow
47024: -- Update journal entry status -- Need to generate this within IF
47048: -- To allow MPA report to determine if it should generate report process
47049: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47050: ------------------------------------------------------------------------------------------
47051:
47052: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47053: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47054:
47055: --
47056: -- Update the line information that should be overwritten
47049: XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47050: ------------------------------------------------------------------------------------------
47051:
47052: l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47053: XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47054:
47055: --
47056: -- Update the line information that should be overwritten
47057: --
47054:
47055: --
47056: -- Update the line information that should be overwritten
47057: --
47058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47059: p_header_num => 1);
47060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47061:
47062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47056: -- Update the line information that should be overwritten
47057: --
47058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47059: p_header_num => 1);
47060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47061:
47062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47063:
47064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47058: XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47059: p_header_num => 1);
47060: XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47061:
47062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47063:
47064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47065: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47066: END IF;
47061:
47062: XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47063:
47064: IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47065: XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47066: END IF;
47067:
47068: --
47069: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47068: --
47069: -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47070: --
47071: IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47072: XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47073: ELSE
47074: ---------------------------------------------------------------------------------------------------
47075: -- 4262811a Switch Sign
47076: ---------------------------------------------------------------------------------------------------
47073: ELSE
47074: ---------------------------------------------------------------------------------------------------
47075: -- 4262811a Switch Sign
47076: ---------------------------------------------------------------------------------------------------
47077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47074: ---------------------------------------------------------------------------------------------------
47075: -- 4262811a Switch Sign
47076: ---------------------------------------------------------------------------------------------------
47077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47075: -- 4262811a Switch Sign
47076: ---------------------------------------------------------------------------------------------------
47077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47076: ---------------------------------------------------------------------------------------------------
47077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47077: XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47078: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47085:
47079: XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47085:
47086: END IF;
47087:
47080: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47081: XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47082: -- 5132302
47083: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47084: XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47085:
47086: END IF;
47087:
47088: -- 4955764
47085:
47086: END IF;
47087:
47088: -- 4955764
47089: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47091:
47092:
47093: XLA_AE_LINES_PKG.ValidateCurrentLine;
47089: XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47091:
47092:
47093: XLA_AE_LINES_PKG.ValidateCurrentLine;
47094: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47095:
47096: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47097: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47090: XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47091:
47092:
47093: XLA_AE_LINES_PKG.ValidateCurrentLine;
47094: XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47095:
47096: XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47097: (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47098: ,p_balance_type_code => l_balance_type_code);
47628: l_first_event_id NUMBER;
47629: l_last_event_id NUMBER;
47630:
47631: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
47632: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47633: --
47634: --
47635: l_result BOOLEAN := TRUE;
47636: l_rows NUMBER := 1000;
47943: EXIT WHEN l_array_entity_id.COUNT = 0;
47944:
47945: -- initialize arrays
47946: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
47947: XLA_AE_LINES_PKG.g_rec_lines := NULL;
47948:
47949: --
47950: -- Bug 4458708
47951: --
47948:
47949: --
47950: -- Bug 4458708
47951: --
47952: XLA_AE_LINES_PKG.g_LineNumber := 0;
47953:
47954:
47955: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
47956: g_last_hdr_idx := l_array_event_id.LAST;
48090: --
48091: -- following sets the accounting attributes needed to reverse
48092: -- accounting for a distributeion
48093: --
48094: xla_ae_lines_pkg.SetTrxReversalAttrs
48095: (p_event_id => l_event_id
48096: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
48097: ,p_trx_reversal_source => l_trx_reversal_source);
48098:
48122: --
48123: -- insert dummy rows into lines gt table that were created due to
48124: -- transaction reversals
48125: --
48126: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
48127: l_result := XLA_AE_LINES_PKG.InsertLines;
48128: END IF;
48129:
48130: --
48123: -- insert dummy rows into lines gt table that were created due to
48124: -- transaction reversals
48125: --
48126: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
48127: l_result := XLA_AE_LINES_PKG.InsertLines;
48128: END IF;
48129:
48130: --
48131: -- reset the temp_line_num for each set of events fetched from header
48131: -- reset the temp_line_num for each set of events fetched from header
48132: -- cursor rather than doing it for each new event in line cursor
48133: -- Bug 3939231
48134: --
48135: xla_ae_lines_pkg.g_temp_line_num := 0;
48136:
48137:
48138:
48139: --
48220: END IF;
48221: --
48222: EXIT WHEN l_array_entity_id.count = 0;
48223:
48224: XLA_AE_LINES_PKG.g_rec_lines := null;
48225:
48226: --
48227: -- Bug 4458708
48228: --
48225:
48226: --
48227: -- Bug 4458708
48228: --
48229: XLA_AE_LINES_PKG.g_LineNumber := 0;
48230: --
48231: --
48232:
48233: FOR Idx IN 1..l_array_event_id.count LOOP
48297:
48298:
48299:
48300: --
48301: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
48302:
48303: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
48304:
48305: IF l_continue_with_lines THEN
48365: l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'UPG_DR_ENC_TYPE_ID';
48366: l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_32(Idx);
48367:
48368:
48369: xla_ae_lines_pkg.SetAcctReversalAttrs
48370: (p_event_id => l_event_id
48371: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
48372: ,p_calculate_acctd_flag => l_calculate_acctd_flag
48373: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
49834:
49835: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
49836: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
49837: AND (l_actual_flag = 'A')) THEN
49838: XLA_AE_LINES_PKG.CreateGainOrLossLines(
49839: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
49840: ,p_application_id => p_application_id
49841: ,p_amb_context_code => 'DEFAULT'
49842: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
49867: END IF;
49868: END IF;
49869:
49870: END LOOP;
49871: l_result := XLA_AE_LINES_PKG.InsertLines ;
49872: end loop;
49873: close line_cur;
49874:
49875:
50428: l_first_event_id NUMBER;
50429: l_last_event_id NUMBER;
50430:
50431: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
50432: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50433: --
50434: --
50435: l_result BOOLEAN := TRUE;
50436: l_rows NUMBER := 1000;
50745: EXIT WHEN l_array_entity_id.COUNT = 0;
50746:
50747: -- initialize arrays
50748: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
50749: XLA_AE_LINES_PKG.g_rec_lines := NULL;
50750:
50751: --
50752: -- Bug 4458708
50753: --
50750:
50751: --
50752: -- Bug 4458708
50753: --
50754: XLA_AE_LINES_PKG.g_LineNumber := 0;
50755:
50756:
50757: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
50758: g_last_hdr_idx := l_array_event_id.LAST;
50894: --
50895: -- following sets the accounting attributes needed to reverse
50896: -- accounting for a distributeion
50897: --
50898: xla_ae_lines_pkg.SetTrxReversalAttrs
50899: (p_event_id => l_event_id
50900: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
50901: ,p_trx_reversal_source => l_trx_reversal_source);
50902:
50926: --
50927: -- insert dummy rows into lines gt table that were created due to
50928: -- transaction reversals
50929: --
50930: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
50931: l_result := XLA_AE_LINES_PKG.InsertLines;
50932: END IF;
50933:
50934: --
50927: -- insert dummy rows into lines gt table that were created due to
50928: -- transaction reversals
50929: --
50930: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
50931: l_result := XLA_AE_LINES_PKG.InsertLines;
50932: END IF;
50933:
50934: --
50935: -- reset the temp_line_num for each set of events fetched from header
50935: -- reset the temp_line_num for each set of events fetched from header
50936: -- cursor rather than doing it for each new event in line cursor
50937: -- Bug 3939231
50938: --
50939: xla_ae_lines_pkg.g_temp_line_num := 0;
50940:
50941:
50942:
50943: --
51023: END IF;
51024: --
51025: EXIT WHEN l_array_entity_id.count = 0;
51026:
51027: XLA_AE_LINES_PKG.g_rec_lines := null;
51028:
51029: --
51030: -- Bug 4458708
51031: --
51028:
51029: --
51030: -- Bug 4458708
51031: --
51032: XLA_AE_LINES_PKG.g_LineNumber := 0;
51033: --
51034: --
51035:
51036: FOR Idx IN 1..l_array_event_id.count LOOP
51100:
51101:
51102:
51103: --
51104: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
51105:
51106: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
51107:
51108: IF l_continue_with_lines THEN
51168: l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'UPG_DR_ENC_TYPE_ID';
51169: l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_32(Idx);
51170:
51171:
51172: xla_ae_lines_pkg.SetAcctReversalAttrs
51173: (p_event_id => l_event_id
51174: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
51175: ,p_calculate_acctd_flag => l_calculate_acctd_flag
51176: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
52343:
52344: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
52345: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
52346: AND (l_actual_flag = 'A')) THEN
52347: XLA_AE_LINES_PKG.CreateGainOrLossLines(
52348: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
52349: ,p_application_id => p_application_id
52350: ,p_amb_context_code => 'DEFAULT'
52351: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
52376: END IF;
52377: END IF;
52378:
52379: END LOOP;
52380: l_result := XLA_AE_LINES_PKG.InsertLines ;
52381: end loop;
52382: close line_cur;
52383:
52384:
52896: l_first_event_id NUMBER;
52897: l_last_event_id NUMBER;
52898:
52899: l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
52900: l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52901: --
52902: --
52903: l_result BOOLEAN := TRUE;
52904: l_rows NUMBER := 1000;
53187: EXIT WHEN l_array_entity_id.COUNT = 0;
53188:
53189: -- initialize arrays
53190: XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
53191: XLA_AE_LINES_PKG.g_rec_lines := NULL;
53192:
53193: --
53194: -- Bug 4458708
53195: --
53192:
53193: --
53194: -- Bug 4458708
53195: --
53196: XLA_AE_LINES_PKG.g_LineNumber := 0;
53197:
53198:
53199: -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
53200: g_last_hdr_idx := l_array_event_id.LAST;
53334: --
53335: -- following sets the accounting attributes needed to reverse
53336: -- accounting for a distributeion
53337: --
53338: xla_ae_lines_pkg.SetTrxReversalAttrs
53339: (p_event_id => l_event_id
53340: ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
53341: ,p_trx_reversal_source => l_trx_reversal_source);
53342:
53366: --
53367: -- insert dummy rows into lines gt table that were created due to
53368: -- transaction reversals
53369: --
53370: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
53371: l_result := XLA_AE_LINES_PKG.InsertLines;
53372: END IF;
53373:
53374: --
53367: -- insert dummy rows into lines gt table that were created due to
53368: -- transaction reversals
53369: --
53370: IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
53371: l_result := XLA_AE_LINES_PKG.InsertLines;
53372: END IF;
53373:
53374: --
53375: -- reset the temp_line_num for each set of events fetched from header
53375: -- reset the temp_line_num for each set of events fetched from header
53376: -- cursor rather than doing it for each new event in line cursor
53377: -- Bug 3939231
53378: --
53379: xla_ae_lines_pkg.g_temp_line_num := 0;
53380:
53381:
53382:
53383: --
53456: END IF;
53457: --
53458: EXIT WHEN l_array_entity_id.count = 0;
53459:
53460: XLA_AE_LINES_PKG.g_rec_lines := null;
53461:
53462: --
53463: -- Bug 4458708
53464: --
53461:
53462: --
53463: -- Bug 4458708
53464: --
53465: XLA_AE_LINES_PKG.g_LineNumber := 0;
53466: --
53467: --
53468:
53469: FOR Idx IN 1..l_array_event_id.count LOOP
53533:
53534:
53535:
53536: --
53537: xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
53538:
53539: l_acct_reversal_source := SUBSTR(l_array_source_15(Idx), 1,30);
53540:
53541: IF l_continue_with_lines THEN
53601: l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'UPG_DR_ENC_TYPE_ID';
53602: l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_46(Idx);
53603:
53604:
53605: xla_ae_lines_pkg.SetAcctReversalAttrs
53606: (p_event_id => l_event_id
53607: ,p_rec_acct_attrs => l_rec_rev_acct_attrs
53608: ,p_calculate_acctd_flag => l_calculate_acctd_flag
53609: ,p_calculate_g_l_flag => l_calculate_g_l_flag);
53842:
53843: -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
53844: -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
53845: AND (l_actual_flag = 'A')) THEN
53846: XLA_AE_LINES_PKG.CreateGainOrLossLines(
53847: p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
53848: ,p_application_id => p_application_id
53849: ,p_amb_context_code => 'DEFAULT'
53850: ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
53875: END IF;
53876: END IF;
53877:
53878: END LOOP;
53879: l_result := XLA_AE_LINES_PKG.InsertLines ;
53880: end loop;
53881: close line_cur;
53882:
53883:
53975:
53976: --
53977: -- initialize array of lines with NULL
53978: --
53979: xla_ae_lines_pkg.SetNullLine;
53980:
53981: --
53982: -- initialize header extract count -- Bug 4865292
53983: --